看似简单,就是一个类的使用,但是使用的时候问题一大堆。
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
<%@ page contentType="text/html; charset=UTF-8"%> <html> <head> <title>学生注册</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <form name="login" action="registerStudent.jsp" method="post"> <table> <tr> <td> 姓名: </td> <td> <input type="text" name="username"> </td> </tr> <tr> <td>地址:</td> <td><input type="text" name="address"></td> </tr> <tr> <td>电话:</td> <td><input type="text" name="phone"></td> </tr> <tr> <td><input type="submit" name="submit" value="确定"></td> </tr> </table> </form> </body> </html>
registerStudent.jsp
<%@ page import="java.util.*" import="bean.StudentBean" contentType="text/html;charset=UTF-8"%> <html> <title>注册成功</title> <body> 注册成功页面<br> <% String name = request.getParameter("username"); String address = request.getParameter("address"); String phone = request.getParameter("phone"); %> <jsp:useBean id="student" class="bean.StudentBean" /> <jsp:setProperty name="student" property="name" value= "<%= name%>" /> <jsp:setProperty name="student" property="address" value="<%=address%>" /> <jsp:setProperty name="student" property="phone" value="<%=phone%>" /> 姓名:<jsp:getProperty name="student" property="name" /> <br> 地址:<jsp:getProperty name="student" property="address" /> <br> 电话:<jsp:getProperty name="student" property="phone" /> <%-- <jsp:useBean id="test" class="bean.SimpleBean" /> <jsp:setProperty name="test" property="message" value="Hello Reader" /> <jsp:getProperty name="test" property="message" /> --%> </body> </html>SutentBean.java
package bean; public class StudentBean{ private String name ; private String address; private String phone; public void setName(String name){ this.name = name; } public String getName(){ return this.name; } public void setAddress(String address){ this.address = address; } public String getAddress(){ return this.address; } public void setPhone(String phone){ this.phone = phone; } public String getPhone(){ return this.phone; } public StudentBean(){ this.name="user"; this.address="address"; this.phone="phone"; } }
原文地址:http://blog.csdn.net/havedream_one/article/details/45055005