user.java:
public class User implements Serializable {
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
A.jsp:
<form action="fillLogin.do" method="post">
名稱: <input Type="text" Name="name" >
密碼: <input Type="password" Name="passwordparam" >
<input type="submit" value="登入">
</form>
b.jsp:
//<jsp:setProperty name="user" property="*"/>
// 可利用property="*" 去配對 但切記屬性名稱都要對好,比方參數就跟
// 欄位名稱要一致,就會很省時,不用在一一設定
<jsp:useBean id="user" class="cc.openhome.User" scope="request"/>
<jsp:setProperty name="user" param="passwordparam" property="password"/>
// or <jsp:setProperty name="user" property="password" value="12345678" /> 相當於寫死的做法
// setProperty 設定值
你的密碼是: <jsp:getProperty name="user" property="password"/> // getProperty取值
<jsp:useBean id="user" class="cc.openhome.User" scope="request"/>
這段轉換為servlet 是:
(翻至Servlet&Jsp教學手冊(第二版))
cc.openhome.User user=null;
synchronized(request){
user=(cc.openhome.User ) _jspx_page_context.getAttribute(
"user",PageContext.PAGE_SCOPE); // 如果scope="session" 則要用 SESSION_SCOPE
if(user == null){
user = new cc.openhome.User();
_jspx_page_context.setAttribute(
"user",user,PageContext.PAGE_SCOPE);
org.apach.jasper.runtime.JspRuntimeLibrary.introspect(
_jspx_page_context.findAttribute("user"),request);
}
}
}