標籤:java jsp javabean
看似簡單,就是一個類的使用,但是使用的時候問題一大堆。
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"; } }
jsp之JavaBean