2012-04-17 2 views
1

일부 bean에 체크 박스 값을 저장하는 데 문제가 있습니다. 텍스트 등 다른 것들은 모두 괜찮습니다. 또한 Checkbox 값을 MyAction 클래스에 저장하면 아무런 문제가 없습니다. 내 클래스의 일부 빈을 사용하려고 할 때만 문제가 나타납니다.다른 bean에 저장하는 Struts2 체크 박스

예시 JSP :

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

======

예시적인 자바 코드 :

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. flaghttp://www.coderanch.com/t/448207/Struts/Struts-Checkbox-set-value-back

+0

문제는 ...? – leonbloy

+1

BTW,'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