WEB开发网
开发学院WEB开发Jsp jsp中bean动作和EL表达式语言基础 阅读

jsp中bean动作和EL表达式语言基础

 2012-11-10 11:33:23 来源:WEB开发网   
核心提示: 与bean相关的标准动作:<jsp:useBean id="person" class="foo.Person" scope="request" /><jsp:getProperty name="person" prop

 与bean相关的标准动作:

<jsp:useBean id="person" class="foo.Person" scope="request" />
<jsp:getProperty name="person" property="name" />
<jsp:setProperty name="person" property="name" value="Fred" />
jsp:useBean动作在没有person属性时会自动创建一个person属性,并赋为null

jsp:useBean体:

<jsp:useBean id="person" class="foo.Person" scope="request">
<jsp:setProperty name="person" property="name" value="Fred" />
</jsp:useBean>

jsp:setProperty在jsp:useBean体中时,只有person属性不存在时才为新创建的属性设置属性,并不改变现存的属性值

建立多态的bean引用:

<jsp:useBean id="person" type="foo.Person" class="foo.Empolyee" scope="request" />
如果使用了type,但没有class,bean必须已经存在
如果使用了class(有或没有type),class不能使抽象类,而且必须有一个无参数的公共构造函数

利用param属性,可以将属性的性质设置为一个请求参数的值,例如:
<jsp:useBean id="person" class="foo.Person" scope="request">
<jsp:setProperty name="person" property="name" param="userName" />
</jsp:useBean>


如果请求参数名与bean中的性质名相同,可以不用指出param属性,例如:
<jsp:useBean id="person" class="foo.Person" scope="request">
<jsp:setProperty name="person" property="name" />
</jsp:useBean>


如果所有请求参数名都与bean性质匹配,还可以如下这么干:
<jsp:useBean id="person" class="foo.Person" scope="request">
<jsp:setProperty name="person" property="*" />
</jsp:useBean>


bean标记会自动转换基本类型和String类型的性质

如果使用脚本,就不会完成自动转换,即是表达式在<jsp:setProperty>标记中也会失败

利用<jsp:getProperty>只能访问bean的性质,不能访问嵌套性质

--------------------------------------------------------------------

EL表达式:形如 ${person.name}

表达式中第一个变量名可以使一个隐式对象或属性

EL隐式对象包括:pageScope,requestScope,sessionScope,applicationScope,param,paramValues,header,headerValues,cookie,initParam,pageContext

属性包括:任意作用域中的属性,包括page,request,session,application

EL隐式对象除了pageContext都是映射对象,pageContext是对pageContext对象的实际引用

用点号"."访问性质和映射值,如${person.name},点号右边变量必须符合java变量名命名规范,该变量是一个映射键或者性质

用[]号访问性质或映射键,除了点号能访问的之外,[]还能访问数组和List中的内容,并且数组和List中的String索引会强制转换为int,例如:

${favoriteFood[0]}和${favoriteFood["0"]都可访问

使用[]时,如果[]里没有引号,容器会计算括号中的内容,搜说与该名字绑定的属性,并替换为这个属性的值

1 2  下一页

Tags:jsp bean 动作

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接