SSH开发,使用标准的方式,在显示和保存中都发现数据残留问题。例1
bean:
User
private String name;
get{} set{} ......Action:    private String name;
    private User user; public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User getUser() {
return user;
}
public void setUser(User task) {
this.user = user;
}
    ......
public String getUser() throws Exception {
user=userService.findByName(name);
return "show";
}
    ......Jsp: <s:if test="user!=null">
<s:property value="user.name" /> 
</s:if>先在这申明,Spring注入等之类都是正常的,并没有SSH框架衔接问题。
以上代码通过name取得User。这个Action并不是页面打开时就执行的,是需要人为点击才执行。
问题是,第一个用户打开这个页面,默认是没执行getUser的,这个页面也不显示user.name,这正常,当点击执行后,这个用户能正常得到数据。可另一个用户,即使不在同一台电脑,不是同一个帐号,打开同样的页面也显示出这个user.name值了,应该说第2个人并没有执行getUser(),<s:if test="user!=null">不该通过的,感觉好像user成了全体变量了。例2
bean相同
处理User增加操作。Action:(不是同一个Action)    private String name;
    private User user; public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User getUser() {
return user;
}
public void setUser(User task) {
this.user = user;
}         public String UserAdd() throws Exception {
              User user=new User();
              user.setName=name;
              userService.save(user);
              return("add")
        {
JSP:      ......
     <form method="post" action="add" id="add">
           <s:textfield name="name"/>
           <button  type="submit">保 存</button>     </form>
     .....
同样是2个人不同电脑操作,第一个点保存时一切正常,第2个人,直接打Url:"xxxx/add",发现虽然没输入任何数据,但同样将第1个人的数据重新保存进去了。如果第2个人也正常操作添加记录,这时发现保存了自己相同的2条记录,我跟踪了一下,发现当第2个人保存时,这个UserAdd操作了2次。
真是头大了,不知道错在哪了?