2012-08-28 1 views
1

에서 변수 의 테스트 평등 : 속성이 현재 객체입니다 selectedLanguage 액션에서 유래와의Struts2 : 나는 시험에 노력하고 행동

<s:if test="%{selectedLanguage == <s:property/>}"> 

. 이 같은 반복자에서 :

<s:iterator value="languages"> 
    <s:if test="%{selectedLanguage == <s:property/>}"> 
     <option id="<s:property/>" selected><s:property/></option> 
    </s:if> 
    <s:else> 
     <option id="<s:property/>"><s:property/></option> 
    </s:else> 
</s:iterator> 

물론, 그것은 작품을 나던. 어떻게 해결할 수 있습니까?

+0

왜 개체가'VS'에 들어 있기 때문에 을 사용하여이 작업을 수행하는지,'' –

+0

myValue는 무엇인가? 나는 "언어"의 인스턴스를 필요로한다. – Madrugada

+0

myValue는 'valueStack'에있는 값이라고 믿는다. 객체를 반복 할 때 현재 객체가 스택 맨 위로 밀려나도록한다. 그래서 객체에 속성이 있으면 즉 'myValue'는 직접 참조 할 수 있습니다 –

답변

3

일을 고정하지 않고, 단지 반복의 객체에 이름주기 위해 var 속성을 사용

<s:iterator value="languages" var="language"> 
    <s:if test="%{selectedLanguage == #language}"> 
     <option id="<s:property/>" selected><s:property/></option> 
    </s:if> 
    <s:else> 
     <option id="<s:property/>"><s:property/></option> 
    </s:else> 
</s:iterator> 

또한 단지 스택의 상단을 얻을 수 #top을 사용할 수 있습니다,하지만 난 그게 더 명명 생각 의사 소통.

#language을 기반으로 selected 속성을 설정하거나 select 태그 만 사용하는 것이 좋습니다.

+0

고마워! 마침내 :) – Madrugada

+0

한 가지 더 관련된 질문 : 나는

을 가지고 있다고 가정하고 링크에 매개 변수를 추가하고 싶습니다. mypage.jspa? lang = myLanguage, 어떻게 작성합니까? myLanguage가 작업에서 오는 경우? 나는 를 시도했지만 작동하지 않습니다. – Madrugada

+1

@Madrugada 그건 전혀 관련이 없습니다. 나는 그 행동이 OGNL 표현인지 여부를 모른다. 또한 이상한 액션 확장이 아닌 한 왜 JSP로 제출할 지 확신 할 수 없습니다. 어쨌든 숨겨진 양식 요소에 넣지 않는 이유는 무엇입니까? –

관련 문제