2012-04-17 3 views
1

一部のBeanにチェックボックスの値を保存する際に問題があります。テキストなどのような他のものはすべてOKです。チェックボックスの値をMyActionクラスに保存しても問題ありません。 問題は、クラス内の一部のBeanを使用しようとしたときにのみ表示されます。Struts2チェックボックスを他の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.私はこの男と同じ問題をより少なく持っていることを思わ:flaghttp://www.coderanch.com/t/448207/Struts/Struts-Checkbox-set-value-back

+0

問題は...? – leonbloy

+1

ところで、 'myBean.aFlag'は' myBean.flag'でなければなりません – leonbloy

+0

2)。それはこのトピックのちょうどタイプミスでした。 – hades

答えて

1

正しいaFlagとでcheckboxvalueを追加します。に

<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; 
} 
+0

@hadesこれは機能しましたか? – GingerHead

+0

いいえ、それはしませんでした。 これは実際のコードではなく、このトピックの入力ミスです。 aFlagとフラグでStruts2のチェックボックスタグにはこのような属性 "プロパティ"がないので、うまくいきませんでした。 – hades

+0

私の更新された答えを見てください – GingerHead

関連する問題