2017-10-18 5 views
0

오히려 액션 클래스보다 요구 객체를 통해 ...Struts2 : I가 <code><s:select list="myList" /></code>는 관련 게터 함께 동작 클래스 & 족 발견되는 <code>List<String></code>으로부터 채워지이

이 간단한 예제 사항에 따라

https://www.mkyong.com/struts2/struts-2-sselect-drop-down-box-example/

나는 그것이 액션 클래스 내에서 목록을 만들 수 없습니다 가능하다면 알고 있지만, 요청 목록 객체를 저장할 그러나

,
List<String> myList = new ArrayList<>(); 
myList.add("value1"); myList.add("value2"); etc... 
request.setAttribute("myList", myList); 

나는이 시도하지만이 동작하지 않습니다 <s:select list="myList" />

채울 것을 사용합니다. 내가 잘못하고있는 것이 었는지 아니면 그냥 할 수 없는지 알고 싶다.

내 믿음은

+0

당신은 할 수 있지만, 아마 안된다. –

답변

2

예는

아래와 같이 가능하다 ... 형태 내의 모든 데이터가 수동으로 위의에 따라 추가 된 경우 그렇게 문제가되지해야 여하튼 JSP의 부하에 대한 요청에 추가 된 것이 었습니다
List<String> myList = new ArrayList<>(); 
myList.add("value1"); myList.add("value2"); //etc... 
ActionContext actionContext = ActionContext.getContext(); 
if(null != actionContext) { 
     ValueStack stack = actionContext.getValueStack(); 
     stack.setValue("#request['myList']", myList); 
} 

다음

<s:select list="#request['myList']" /> 
+0

감사합니다. Yasser ... 그곳에서 몇 가지 새로운 것을 배웠습니다. –

+0

아니요. 왜? 하지마. 'request.setAttribute'는 잘 작동합니다. –

+0

이 Aleksandr을 테스트했을 때 간단한'request.setAttribute'가 작동하지 않았습니다. getters ans setters와 Action 내에서 객체를 목록으로 설정하고 Yasser의 위의 제안도 성공했습니다 ... –