jsp之JavaBean

来源:互联网 发布:linux简化命令 编辑:程序博客网 时间:2024/05/21 19:49

看似简单,就是一个类的使用,但是使用的时候问题一大堆。

1、bean包的使用

在定义bean的java文件开头有package ***;的字样。但是具体在哪呢?如果弄不清这个问题,将无法找到合适的bean类。

首先是这个类应该放在WEB-INF/classes下面(千万别把WEB-INF创建成了WEB_INF),然后就可以创建包了,其实就是一个文件夹,然后根据package 使用的包定义文件夹名。如:package bean,这句话的意思就是在classes文件夹下创建bean文件夹,然后把javabean(其实就是这个类)编译好后放到这个文件夹里。这样服务器就可以找到根据包名找到javabean了。

2、我收集到了传过来的request,怎么将request中的参数添加到bean里?

<%= %> 代表输出,我试试了不行啊?

该怎么赋值呢?

比如:

假设传过来了name的值,

<jsp:setProperty name= "test" property="name" value=<%=name%> />

这句话是通不过的。

正确的赋值语句是<jsp:setProperty name= "test" property="name" value=“<%=name%>“ />

3、写<jsp>指令时,要注意写结尾符/

OK,注意事项就是这样。

我们来回顾下怎么使用javabean。

1、首先我们定义了javabean.

2、然后就是在需要引用的页面里把这个javabean引进来,

3、当我们使用<jsp:useBean id="test" class="Test">的时候,实际上就是创建了一个bean实例,相当于: Test test=new Test();

4、使用setProperty和getProperty相当于调用了test.setXXX()和test.getXXX(),这样就可以理解为什么它们会有name属性了,实际name属性就是去指向创建的bean实例

实例:

student.jsp

[java] view plaincopyprint?
  1. <%@ page contentType="text/html; charset=UTF-8"%>  
  2. <html>  
  3.         <head>  
  4.                 <title>学生注册</title>  
  5.                 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  
  6.         </head>  
  7.         <body>  
  8.                 <form name="login" action="registerStudent.jsp" method="post">  
  9.                         <table>  
  10.                                 <tr>  
  11.                                         <td>  
  12.                                                 姓名:  
  13.                                         </td>  
  14.                                         <td>  
  15.  <input type="text" name="username">  
  16.                                         </td>  
  17.                                 </tr>  
  18.                                 <tr>  
  19.                                         <td>地址:</td>  
  20.                                         <td><input type="text" name="address"></td>  
  21.                                 </tr>  
  22.                                 <tr>  
  23.                                         <td>电话:</td>  
  24.                                         <td><input type="text" name="phone"></td>  
  25.                                 </tr>  
  26.                                 <tr>  
  27.                                         <td><input type="submit" name="submit" value="确定"></td>  
  28. </tr>  
  29.                         </table>  
  30.                 </form>  
  31.         </body>  
  32. </html>  


registerStudent.jsp 

[html] view plaincopyprint?
  1. <%@ page import="java.util.*" import="bean.StudentBean" contentType="text/html;charset=UTF-8"%>  
  2. <html>  
  3.         <title>注册成功</title>  
  4.         <body>  
  5.                 注册成功页面<br>  
  6.                 <%  
  7.                         String name = request.getParameter("username");  
  8.                         String address = request.getParameter("address");  
  9.                         String phone = request.getParameter("phone");  
  10.                 %>  
  11.                 <jsp:useBean id="student" class="bean.StudentBean" />  
  12.                 <jsp:setProperty name="student" property="name" value"<%= name%>" />  
  13.                 <jsp:setProperty name="student" property="address" value="<%=address%>" />  
  14.                 <jsp:setProperty name="student" property="phone" value="<%=phone%>" />  
  15.                 姓名:<jsp:getProperty name="student" property="name" />  
  16. <br>  
  17.                 地址:<jsp:getProperty name="student" property="address" />  
  18.                 <br>  
  19.                 电话:<jsp:getProperty name="student" property="phone" />  
  20.                 <%--  
  21.                 <jsp:useBean id="test" class="bean.SimpleBean" />  
  22.                 <jsp:setProperty  name="test" property="message" value="Hello Reader" />  
  23.                 <jsp:getProperty name="test" property="message" />  
  24.                 --%>  
  25.         </body>  
  26. </html>  
SutentBean.java
[java] view plaincopyprint?
  1. package bean;  
  2. public class StudentBean{  
  3.         private String name ;  
  4.         private String address;  
  5.         private String phone;  
  6.         public void setName(String name){  
  7.                 this.name = name;  
  8.         }  
  9.         public String getName(){  
  10.                 return this.name;  
  11.         }  
  12.         public void setAddress(String address){  
  13.                 this.address = address;  
  14.         }  
  15.         public String getAddress(){  
  16.                 return this.address;  
  17.         }  
  18.         public void setPhone(String phone){  
  19.                 this.phone = phone;  
  20.         }         
  21.         public String getPhone(){  
  22.                 return this.phone;  
  23.         }  
  24.         public StudentBean(){  
  25.                 this.name="user";  
  26.                 this.address="address";  
  27.                 this.phone="phone";  
  28.         }         
  29. }     
0 0