struts2手动防止数据重复提交,使用struts标签取session中的值

public class CBApplyAction extends ActionSupport implements SessionAware {  
  
private Map session;  
  
/** 表单填写页面的hidden域 */  
    private String sub;  
  
    @Override  
    public String execute() throws Exception {  
        // 向session中放置一个值   
        session.put("session_value", Math.random() + "");  
  
        return SUCCESS;  
    }  
  
    public String cbApplyFromSubmit() throws Exception {  
        // 将页面hidden提交的值和session中的值比较   
        String obj = (String) session.get("session_value");  
        if (sub != null && sub.equals(obj)) {  
            session.remove("session_value");  
                        // 保存数据   
            chBusiness.saveCBApplyForm(changeApplyFormBO);  
        }  
        return SUCCESS;  
    }  
  
    public String getSub() {  
        return sub;  
    }  
  
    public void setSub(String sub) {  
        this.sub = sub;  
    }  
  
    public void setSession(Map session) {  
        this.session = session;  
    }  
  
}  


 

 

页面接收session中的值,提交表单时,sub提交到struts action

<s:hidden name="sub" value="%{#session.session_value}"/>

 

你可能感兴趣的:(struts2手动防止数据重复提交,使用struts标签取session中的值)