<jsp:useBean id="loginUser" scope="page" class="logintest.LoginUser" >
<jsp:setProperty name="loginUser" property="password" param="password" />
</jsp:useBean><%
if (!loginUser.isUser ())
{
throw new Exception ("密码不正确!");
}
session.setAttribute ("password", loginUser.getPassword ());
%>我现在不知道这个bean是怎样用的,什么参数关什么作用啊,大虾邦忙啊
<jsp:setProperty name="loginUser" property="password" param="password" />
</jsp:useBean><%
if (!loginUser.isUser ())
{
throw new Exception ("密码不正确!");
}
session.setAttribute ("password", loginUser.getPassword ());
%>我现在不知道这个bean是怎样用的,什么参数关什么作用啊,大虾邦忙啊
scope的内容表示这个bean存在的范围。page本页面,request提交页面,session整个会话周期,application全部class:所调用的bean的全称,一定包括包名
我想知道 setProperty a后面的 含义,书上有,可是看不明白
Bean:
//定义Bean所属的套件public class LoginData {
//Bean属性
private String Name = "";
private String Pwd = ""; public LoginData() { //建构子
} //以下为设定Bean属性的方法
public void setLoginName(String name) {
this.Name = name;
}
public void setPassword(String pwd) {
this.Pwd = pwd;
} //以下为取得Bean属性的方法
public String getLoginName() {
return this.Name;
}
public String getPassword() {
return this.Pwd;
}
}状况一: 直接使用 JSP 设定 parameter 传给bean
UseBean:
<%@ page contentType="text/html; charset=GBK" %>
<HTML>
<HEAD>
<TITLE>使用Beans</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT COLOR = blue>使用Beans</FONT>
</CENTER>
<HR>
<P></P>
<jsp:useBean id="login" scope="application" class="LoginData"/>
<jsp:setProperty name="login" property="loginName" value="郭尚君"/>
<%
login.setPassword("1234"); //呼叫Bean对象的方法, 设定属性
%><Font color = red>LoginName</Font>属性值为
<Font color = blue>
<jsp:getProperty name="login" property="loginName"/>
</Font><BR>
<Font color = red>Password </Font>属性值为
<Font color = blue>
<%--以呼叫Bean对象方法的方式取得属性--%>
<%= login.getPassword() %></Font></BODY>
</HTML>批注:
a. describe bean:
public void setLoginName(String name) {
this.Name = name;
}setLoginName => set属性
所以 LoginName 就是
<jsp:setProperty name="login" property="loginName" value="郭尚君"/>
中的属性(property), 但规定不管 setLoginName 的 LoginName 的 L 为大小写
property="loginName" l 一定要小写
b. <jsp:setProperty name="login" property="loginName" value="郭尚君"/>
透过 setProperty 传送 value 给bean 中的属性 LoginName
c. login.setPassword("1234");
透过 usebean 的 id = login , 直接引用 setPassword method状况二: 透过 FORM 传送 parameter value 藉由 JSP 引用 Bean
login.htm:
<HTML>
<HEAD>
<TITLE>Beans的应用</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT SIZE = 3 COLOR = blue>Beans的应用</FONT>
</CENTER>
<HR>
<P></P>
<!-- 下面的窗体将以Post方法, 将资料传递给login.jsp檔 -->
<FORM action="login.jsp" method=post name=FORM1>
<P>请输入姓名:<INPUT type=text name=tbxName></P>
<P>密码:<INPUT type=password name=password></P>
<INPUT type="submit" value="送出" name=submit1>
<INPUT type="reset" value="清除" name=reset1>
</FORM></BODY>
</HTML>login.jsp
<%@ page contentType="text/html; charset=GBK" %>
<HTML>
<HEAD>
<TITLE>Beans的应用</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT SIZE = 3 COLOR = blue>Beans的应用</FONT>
</CENTER>
<HR>
<P></P>
<CENTER><jsp:useBean id="login" scope="session" class="LoginData"/>
<jsp:setProperty name="login" property="loginName" param="tbxName"/>
<jsp:setProperty name="login" property="password"/><Font color = red>
<jsp:getProperty name="login" property="loginName"/>
</Font>
您好!<BR>输入的密码为
<Font color = blue>
<jsp:getProperty name="login" property="password"/>
</Font></CENTER>
</BODY>
</HTML>批注:
a. <jsp:setProperty name="login" property="loginName" param="tbxName"/>
property="loginName" => setLoginName 中的 LoginName
param="tbxName => login.htm 中的 form input name
param 为 JSP 由 login.htm 中得到的值传给 bean
如果 login.htm 中的 form input name 与 bean 中的 属性值相同
则 param="tbxName" 可以不用写出来如下:
property 的 password 与 form input password 相同所以可以不必写出来
b. <jsp:setProperty name="login" property="password"/>if have any question send message to me...
to:sparkwu(吳府明)
谢谢,谢谢可是
<jsp:setProperty name="login" property="loginName" value="郭尚君"/>
中的property="loginName" loginName不是 class LoginData 中的成员变量吗