<jsp:useBean>标签
- id:当前实例化对象的引用
- class:创建的实例,使用的包和类的名称
- scope:JavaBean保存的范围,page-request-session-application
- 例子 :<jsp:useBean id="studentBean" class="com.lovo.bean.StudentBean" scope="session">
<jsp:setProperty>标签
- property:代表当前对象的属性名字
- name:当前javaBean对象
- value:代表当前属性的值
- param:用于获取用户传递过来的参数,然后传递给property对应的属性
- property=* 表示匹配所有的属性,用户请求过来的名字必须和javabean里面的属性名字保持一致。
<jsp:getProperty>标签
开发模式
- jsp+javabean
- jsp:负责控制逻辑,业务对象的调用,显示数据。
- javabean:用于封装数据,处理业务。
- 优点:效率高,不需要很复杂的架构模式,开发起来简单。适合开发小程序。
- 缺点:项目不好维护
借鉴MVC架构模式
- model(模型):提供要展示的数据,包含数据和行为。
- view(视图):主要负责模型的数据显示。
- Controller(控制器):接受用户请求。委托模型进行业务处理,处理完了后再将数据发送给视图。起到一个调度员的作用。
- model-->javabean
- view-->jsp、html
- Controller-->servlet
- mvc模型是一种架构模型,本身没有引入任何新功能,只是把我们开发的结构组织的更合理,将表现和结构分离,将逻辑和表现分离。
- mvc:模型用javabean,把javabean称为javabean组件及负责收集封装数据,又要进行业务逻辑的处理,造成javabean非常的庞大,将javabean组件替换成三层架构,javabean组件=域模型层+业务层+持久层。
- mvc在三层架构里面主要存在于表示层。
编写Java无脚本的JSP页面
表达式语言----EL表达式
- 主要用来替换JSP中的脚本表达式。可以从各个域中去找到java对象获取到数据。(javabean对象,list集合,map集合,数组等)
- 利用el表达式可以在jsp页面中进行一些简单的运算,算数运算,
- el表达式在执行内容的时候,会调用pageContext.findAttribute(),分别在page,request,session,application域获取内容,找到就返回当前对象,找不到就返回“”字符串,而不是null。
- 语法 ---- ${ stu.classbean.name}
- 算术运算符
- ${1+2} ${2*4}
- 关系运算符 ---empty()判断对象是否为空
- ${1>2} ${user==null} ${user eq null} ${empty(user)}
- el中的二元表达式
- ${1 > 2 ? "ok" : "fail"}
- 逻辑运算符
- ${1 > 0 && 2 < 3} ${1 > 0 and 2 > 1} ${1 > 0 or 2 < 3} ${!true} ${not true}
标准标记库JSTL
- jstl是为了弥补html的不足,使用jstl标签目的就是为了消除页面上的java逻辑代码。
主要研究核心库
- 表达式控制标签: out、set、remove、catch
- 流程控制标签:if、choose、when、otherwise
- 循环标签:foreach fortokens
- url标签:import、url、redirect、param
导入标签库
- <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>