TestBean.java
package jspex.beans;
public class TestBean {
private String username;
private String password;
private int age;
public String getUserName() {
return username;
}
public void setUserName(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password=password;
}
public String getPassword() {
return password;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
testbean1.html
<html>
<body>
用户信息注册:<br><hr>
<form action="usebean1.jsp" method="post">
<table>
<tr><td>姓名:<input name="userName" type="text"></td></tr>
<tr><td>密码:<input name="password" type="password"></td></tr>
<tr><td>年龄:<input name="age" type="text"></td></tr>
<tr><td><input type=submit value="sumbit"></td></tr>
</table>
</form>
</body>
</html>
userbean1.jsp
<%@ page contentType="text/html; charset=utf-8"%>
<% request.setCharacterEncoding("utf-8"); %>
<jsp:useBean id="user" scope="page" class="jspex.beans.TestBean" />
<jsp:setProperty name="user" property="*" />
<html>
<body>
注册成功:<br><hr>
使用bean属性方法:<br>
用户名:<%=user.getUserName()%>
密码:<%=user.getPassword()%>
年龄:<%=user.getAge()%>
<hr>
使用getProperty:<br>
用户名:<jsp:getProperty name="user" property="userName"/><br>
密码:<jsp:getProperty name="user" property="password" /><br>
年龄:<jsp:getProperty name="user" property="age" /><br>
<hr>
<br>
<a href="testbean2.html">对比下一个</a>
</body>
</html>
解释:生成TestBean类后,以TestBean中的username为例,setUserName与getUserName方法对应的参数应该是userName(默认参数首字母为小写,根据Java命名规则,set和get参数首字母应当大写),所以传递的参数应该是userName,而不是username或者UserName。
补充:
如果传递的参数必须是username,可以只修改userbean1.jsp。
userbean1.jsp
<%@ page contentType="text/html; charset=utf-8"%>
<% request.setCharacterEncoding("utf-8"); %>
<jsp:useBean id="user" scope="page" class="jspex.beans.TestBean" />
<%-- 修改部分 --%>
<%-- <jsp:setProperty name="user" property="*" /> --%>
<jsp:setProperty name="user" property="userName" param="username"/>
<jsp:setProperty name="user" property="password" />
<jsp:setProperty name="user" property="age" />
<html>
<body>
注册成功:
<br>
<hr>
使用bean属性方法:
<br>
用户名:<%=user.getUserName()%>
密码:<%=user.getPassword()%>
年龄:<%=user.getAge()%>
<hr>
使用getProperty:
<br>
用户名:<jsp:getProperty name="user" property="userName"/><br>
密码:<jsp:getProperty name="user" property="password" /><br>
年龄:<jsp:getProperty name="user" property="age" /><br>
<hr>
<br>
<a href="testbean2.html">对比下一个</a>
</body>
</html>
本文介绍了在Java Bean中如何正确传递和接收参数。通过TestBean类举例,强调set和get方法参数应遵循Java命名规则,如username对应setUserName和getUserName。同时提到,若需使用参数名username,只需在调用时的页面如userbean1.jsp中做相应调整。
2267

被折叠的 条评论
为什么被折叠?



