Struts2复选框保存到其他bean

时间:2012-04-17 14:32:48

标签: java checkbox struts2

我在将复选框值保存到某个bean时遇到问题。其他东西,如文本等都可以。如果我将复选框值保存到MyAction类,我也没有任何问题。 问题只有在我尝试用我班上的一些bean时才会出现。

示例jsp:

<s:form>
<s:checkbox name="myBean.flag"/>
<s:submit/>
</s:form>

==

示例java代码:

public class MyAction extends Action {
private MyBean myBean;

public MyBean getMyBean(){
     if(myBean == null){myBean = new MyBean();}return myBean;}
}

public void setMyBean(MyBean myBean){this.myBean = myBean;}

}

...

public class MyBean {
private boolean flag;

public MyBean isFlag(){return flag;}

public void setFlag(boolean flag){this.flag = flag;}
}

==

P.S。似乎我和这个人有更多相同的问题: http://www.coderanch.com/t/448207/Struts/Struts-Checkbox-set-value-back

1 个答案:

答案 0 :(得分:1)

aFlag更正为flag并在value中添加checkbox

<s:checkbox name="myBean.aFlag"/>

为:

<s:checkbox name="flag" value="flag" label="My CheckBox"/>

但是在MyAction类代码中只需编辑:

boolean flag;

public boolean isFlag() {
     if(myBean == null) {
         myBean = new MyBean();
     } 
     return myBean.getFlag();
}

public void setFlag(boolean flag) {
      this.myBean.setFlag(flag); 
      this.flag = flag;
}