本系列博客汇总在这里:JSP 汇总
目录
JSP 动态标签useBean、setProperty、getProperty 动态标签
JSP 动态标签
useBean、setProperty、getProperty 动态标签
useBean 先说一下与 JavaBean 相关的动态标签在 JSP Model2 中已经很少使用了。在 JSP Model1 中,JSP 页面直接使用 JavaBean,那里使用这些标签是很有用的!但是,这里还是要介绍一下。 在开始测试 JavaBean 动态标签之前,我们需要先创建一个 javaBean 类:cn.wyx.Person 类。 因为 useBean 标签有点小复杂,所以我们把 useBean 标签的作用直接翻译成 Java 代码!
<jsp:useBean id="p1" class="cn.wyx.Person" />
<%
Person p1 = (Person)pageContext.getAttribute("p1");
if(p1 == null)
{
p1 = new Person();
pageContext.setAttribute("p1", p1);
}
%>
<jsp:useBean id="p1" class="cn.wyx.Person" scope="session" />
<%
Person p1 = (Person)session.getAttribute("p1");
if(p1 == null)
{
p1 = new Person();
session.setAttribute("p1", p1);
}
%>
setProperty setProperty 标签的作用是给 Bean 设置属性值。当然,你必须保证 Bean 已经存在的前提下才能设置属性值。
<jsp:useBean id="p1" class="cn.wyx.Person" />
<jsp:setProperty property="sex" value="male" name="p1"/>
<%
Person p = (Person)pageContext.getAttribute("p1");
if(p == null)
{
throw new NullPointerException();
}
p.setSex("male");
%>
getProperty getProperty 标签的作用是获取 Bean 的属性值。
<jsp:useBean id="p1" class="cn.wyx.Person" />
<jsp:setProperty property="sex" value="male" name="p1"/>
<jsp:getProperty property="sex" name="p1" />
setProperty 的自省机制 form.jsp
<form action="bean.jsp" method="post">
姓名:
<input type="text" name="name"/><br/>
年龄:
<input type="text" name="age"/><br/>
性别:
<input type="text" name="sex"/><br/>
<input type="submit" value="提交"/>
</form>
bean.jsp
<jsp:useBean id="p1" class="cn.wyx.Person" />
<jsp:setProperty property="*" name="p1"/>
<%=p1 %>
如有错误,欢迎指正!