<jsp:userBean/>
作用:用于在指定域范围内(page request session application)查找指定名称的JavaBean对象,找到了就直接使用;没有找到,创建一个,并放到指定域范围内。
属性:
id:必须的。JavaBean的名称。
class:JavaBean的完整类名。
scope:域范围。默认是page范围,可选值(page request session application)。
注意:如果该标签有主体内容,只有在创建新对象时才会执行。
示例:
-----------------------------------------------------------------------------------------------------------------------------------------------------------
<jsp:useBean id="p" class="com.freesky.domain.Person" scope="page"></jsp:useBean>
<%=p.getName()%>
<%--
//UseBean动作元素原理
com.freesky.domain.Person p= null;
synchronized{
p = (com.freesky.domain.Person)pageContext.getAttribute("p", pageContext.PAGE_SCOPE);
if(p==null){
p = new com.freesky.domain.Person();
pageContent.setAttribute("p",p);
}
}
--%>
---------------------------------------------------------------------------------------------------------------------------------------------------------
<jsp:setProperty>(必须先使用useBean)
作用:调用JavaBean的setter方法。还能自动类型转换。仅限基本类型。
属性:
property:必须的。属性名称。比如setName,名称是name.
可以使用通配符*。使用的前提是请求参数的名称和属性的名称完全一致。
示例:
------------------------------------------------------------------------------------------------------------------------------------------------------------
<!-- http://localhost:8080/day10/1.jsp?name=lily&gender=female&married=false -->
<jsp:setProperty property="*" name="p" />
------------------------------------------------------------------------------------------------------------------------------------------------------------
name:必须的。哪个对象的?即jsp:useBean中的id取值。
value:属性的取值。支持直接量的形式。支持表达式(<%=表达式%>)
示例:
-------------------------------------------------------------------------------------------------------------------------------------------------------------
<jsp:setProperty property="birthday" name="p" value="<%=new Date() %>"/>
--------------------------------------------------------------------------------------------------------------------------------------------------------------
param:请求参数名。
示例:
-------------------------------------------------------------------------------------------------------------------------------------------------------------
<!-- http://localhost:8080/day10/1.jsp?name=lily&gender=female&married=false -->
<jsp:setProperty property="name" name="p" param="name"/>
<jsp:setProperty property="gender" name="p" param="gender"/>
<jsp:setProperty property="married" name="p" param="married"/>
---------------------------------------------------------------------------------------------------------------------------------------------------------------
<jsp:getProperty>
作用:调用JavaBean的getter方法。
property:必须的。属性的名称。比如getName,名称是name;
name:必须的。哪个对象的?即jsp:useBean中id的取值。
示例:
============================================================================================
<jsp:getProperty property="name" name="p"/>
============================================================================================