JavaBean
方便自己查询,嫌低级的勿喷。。。。
一.JavaBean导入有两种方式
1.在JSP中可以使用<%@ page%>指令导入指定的classpath里所需要的包和类
<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ page import="cn.mldn.lxh.demo.*"%> <!-- 导入cn.mldn.lxh.demo包--> <html> <head><title>方法一</title></head> <body> <% SimpleBean simple = new SimpleBean() ;//声明并实例化SimpleBean对象 simple.setName("李兴华") ;//设置属性 simple.setAge(30) ; %> <h3>姓名:<%=simple.getName()%></h3> <!-- 输出属性内容--> <h3>年龄:<%=simple.getAge()%></h3> </body> </html>
2.使用<jsp:useBean>指令,格式如下
<jsp:useBean id="实例化对象名称" scope="保存范围" class="包、类名称"/>
id表示实例化对象的名称;scope表示此对象保存的范围,一共有page、request、session和application4种属性范围;class表示对象对应包、类名称
<%@ page contentType="text/html" pageEncoding="GBK"%> <jsp:useBean id="simple" scope="page" class="cn.mldn.lxh.demo.SimpleBean"/> <!--实例化JavaBean对象--> <html> <head><title>方法二</title></head> <body> <% simple.setName("李兴华") ; simple.setAge(30) ; %> <h3>姓名:<%=simple.getName()%></h3> <h3>年龄:<%=simple.getAge()%></h3> </body> </html>
二.设置属性
设置属性可以通过上面的方式设置,也可以通过<jsp:setProperty>来设置属性,对应有4种方式:
No | 类型 | 语法格式 |
1 | 自动匹配 | <jsp:setProperty name="实例化对象的名称(id)" property="*"/> |
2 | 指定属性 | <jsp:setProperty name="实例化对象的名称(id)" property="属性名称"/> |
3 | 指定参数 | <jsp:setProperty name="实例化对象的名称(id)" property="属性名称" param="参数名称"/> |
4 | 指定内容 | <jsp:setProperty name="实例化对象的名称(id)" property="属性名称" value="内容"/> |
第一、二种,如果传递过来的参数名称和JavaBean中的属性名称一致话,将自动为这属性设置对应的参数值。
第三种,可以为JavaBean中某一属性指定对应的参数名称。
第四种,可以为JavaBean中某一属性指定特定的值。
以上的param指的是从其他页面传递过来的参数,可以通过request.getParameter()来获取值,然而这里jsp:setProperty自动获取。
<%@ page contentType="text/html" pageEncoding="GBK"%> <html> <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head> <body> <%request.setCharacterEncoding("GBK") ;//解决提交乱码 %> <jsp:useBean id="simple" scope="page" class="cn.mldn.lxh.demo.SimpleBean"/> <jsp:setProperty name="simple" property="*"/> <h3>姓名:<%=simple.getName() %></h3> <h3>年龄:<%=simple.getAge() %></h3> </body> </html>
三.取得属性
可以通过<jsp:getProperty name="实例化对象的名称(id)" property="属性名称">来获取JavaBean对象的属性值。
<%@ page contentType="text/html" pageEncoding="GBK"%> <html> <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head> <body> <%request.setCharacterEncoding("GBK") ;//解决提交乱码 %> <jsp:useBean id="simple" scope="page" class="cn.mldn.lxh.demo.SimpleBean"/> <jsp:setProperty name="simple" property="*"/> <h3>姓名:<jsp:getProperty name="simple" property="name"/></h3> <h3>年龄:<jsp:getProperty name="simple" property="age"/></h3> </body> </html>
四.JavaBean的保存范围
<jsp:useBean>指令上存在一个scope属性,表示一个JavaBean的保存范围,保存范围有以下4种:
①page:保存在一页的范围中,跳转后此JavaBean无效。
②request:一个JavaBean对象可以保存在一次服务器跳转的范围中,在一次服务器跳转中,将不会重复声明JavaBean对象。
③session:在一个用户的操作范围中保存,重新打开浏览器时才会声明新的JavaBean。
④application:在整个服务器上保存,所有用户都可以直接访问此对象,服务器关闭时才会消失。
五.JavaBean的删除
如果一个JavaBean不再使用的话,则可以直接使用4中属性范围内的removeAttribute()方法进行删除
①page:通过pageContext.removeAttribute(JavaBean名称)删除。
②request:通过request.removeAttribute(JavaBean名称)删除。
③session:通过session.removeAttribute(JavaBean名称)删除。
④application:通过application.removeAttribute(JavaBean名称)删除。