当前位置: 代码迷 >> Java Web开发 >> [求助]关于userBean的问题
  详细解决方案

[求助]关于userBean的问题

热度:132   发布时间:2006-12-26 00:20:06.0
[求助]关于userBean的问题

运行环境tomcat5.5.12,现有一页面和一javaBean

<%@page contentType="text/html;charset=gb2312" %>
<jsp:useBean id="user" class="com.yj.User" scope="page"> //问题出在这里,我输入用户名点登陆提交的还是这个页面
<jsp:setProperty name="user" property="*"/> //如果scope设为page,则能显示出loginname,而我设为
</jsp:useBean> //session,为什么获取不到值?session的范围大于page啊
<html>
<body>
<h1>用户登陆</h1>
<form action="login1.jsp" method="post">
<table>
<tr>
<td>用户名</td>
<td><input type="text" name="loginname" value="${user.loginname}"></td>
</tr>
<tr>
<td>密码</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td>真实姓名</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>年龄</td>
<td><input type="text" name="age"></td>
</tr>
<tr>
<td>地址</td>
<td><input type="text" name="address"></td>
</tr>
<tr>
<td align="right"><input type="submit" value="登录"></td>
<td><input type="button" value="注册"></td>
</tr>
</table>
</form>
</body>
</html>

javaBean

package com.yj;

public class User {
private String loginname = "";
private String password = "";
private String username = "";
private int age = 0;
private String address = "";

public void setLoginname(String loginname) {
this.loginname = loginname;
}
public String getLoginname() {
return loginname;
}

public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
}

public void setUsername(String username) {
this.username = username;
}
public String getUsername() {
return username;
}

public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}

public void setAddress(String address) {
this.address = address;
}
public String getAddress() {
return address;
}
}

搜索更多相关主题的帖子: userBean  

----------------解决方案--------------------------------------------------------
代码好像有点问题,好像没什么实际意义.
----------------解决方案--------------------------------------------------------
已经解决,谢谢大家。
----------------解决方案--------------------------------------------------------

是怎么解决的应该告诉大家,这样才能互相帮助啊.也许别人也遇到这样的问题,而你的方法很好啊,或者别人有更好的方法,这样才能共同进步的啊


----------------解决方案--------------------------------------------------------

是得,怎么解决!!


----------------解决方案--------------------------------------------------------
问题出在还是对Bean作用范围没有理解透彻。
如果我Bean范围设为page,那么当这个页面加载时,setProperty标签已将控件里的值放进了Bean里,而这时我还没有进行输入;当我输入后,点提交,因为Bean的范围为page(当加载新页面时销毁),那么这个包含空值的Bean被销毁,而填了值后的控件通过setProperty标签将值放进了新的Bean的对象里,那么在新的页面里所以我能得到我输入的值

如果把Bean范围设为session,那么只要在一个会话里,那个包含空值的Bean永远不会被销毁,所以我得到的是空值

[此贴子已经被作者于2006-12-29 16:08:03编辑过]


----------------解决方案--------------------------------------------------------
恩,不错
----------------解决方案--------------------------------------------------------
就是,支持一下,希望大家都能分享一些自己的学习经验
----------------解决方案--------------------------------------------------------
Bean 我觉得应该implements Serializable
如果要在同一个session的多个页面之间可以传递BEAN的内容,好象要实现序列化接口的,
----------------解决方案--------------------------------------------------------