struts对象绑定属性被覆盖,初学struts用法问题?

描述:action中有user对象,这个类中有add()和update() ,但是在add(){
    user =  new User();
user.setUserName("某个");
    //操纵属性
}
update(){
    user.getUserName();
}
这样加入多线程情况下(用户提交表单到update , 但是add被人先执行了,那么user被清空。属性被覆盖),update中的getUsername就不是前台绑定并传递过来的,而是add中set的【属性丢了】
不知道我描述的清除吗
附上action一点代码

package com.hzyc.hzycpos.action;


import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.interceptor.ServletRequestAware;
import org.apache.struts2.interceptor.ServletResponseAware;
import org.springframework.stereotype.Controller;

import com.hzyc.hzycpos.domain.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

/**
 * 用户管理控制层
 * 通过实现自动引入接口实现IOC方式的request注入
 * 
 * @author SHAOSHUAI
 * 使用ModelDriven<User>驱动方式,对于传递多个对象不方便
 * 改使用set对象方法传递
 */
@Controller
public class UserAction extends ActionSupport implements ServletRequestAware, ServletResponseAware {

    //model绑定
    private User user;
    //List<User> User对象集合
    private List<User> userList;
    

    private HttpServletRequest request;
    private HttpServletResponse response;
    
    /**
    
     */
    private static final long serialVersionUID = 1L;
    
    private String info = "";
    public String add() throws Exception{
        info = "添加用户信息";
        
        //如何能获取input中的值呢
        System.out.println(user.getUsername());
        request.setAttribute("name","是谁呢");
        
        user = new User();
        user.setPassword("123456");
        user.setUsername("邵帅");
        userList = new ArrayList<User>();
        userList.add(user);
        return SUCCESS;
    }
    
    public String update() throws Exception{
        info = "更新用户信息";
        System.out.println(user.getUsername()+"====update");
        return ERROR;
    }
    public String getInfo(){
        return info;
    }
    public void setInfo(String info){
        this.info = info;
    }
    public void setServletResponse(HttpServletResponse response) {
        this.response = response;
    }
    public void setServletRequest(HttpServletRequest request) {
        // TODO Auto-generated method stub
        this.request = request;
    }

    /**
     *  获取参数绑定model
     */
    
    public void setUser(User user){
        System.out.println("set User对象");
        this.user = user;
    }
    /**
     * 用于jsp的ognl标签获取
     * */
    public User getUser(){
        System.out.println("get User对象");
        return this.user;
    }
    /**
     * 用于jsp标签获取
     * */
    public List<User> getUserList() {
        return userList;
    }
    

    
}










全部评论
action是多例的吧
点赞 回复 分享
发布于 2018-01-11 11:42

相关推荐

10-07 20:48
门头沟学院 Java
不敢追175女神:可能是实习上着班想到后面还要回学校给导师做牛马,看着身边都是21-25的年纪,突然emo了了
点赞 评论 收藏
分享
ProMonkey2024:5个oc?厉害! 但是有一个小问题:谁问你了?😡我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了(别的帖子偷来的,现学现卖😋)
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务