2011-09-08 3 views
2

맵의 값을 설정하는 버튼 구문을 입력하고 내가 전에 보지 않은 버튼을 제출이 구문을 참조하십시오 .. 그것은 작동하지 않습니다스트럿츠 2의 : 나는 어떤 스트럿츠 2 코드를 검색하고

<s:submit key="map.keyName$Value" /> 

(이제는 Struts 2.0.x에서 Struts 2.2.3으로 옮겼습니다.) 지도에서 언급 한 키를 기반으로 적절한 값을 설정하지 않은 것입니다.

이전에이 구문을 사용한 사람이 있습니까?

map (struts 태그 만 사용)에서 SET 값을 사용할 수있는 다른 대체 구문 제안을 가장 환영합니다.

이 코드가 포함 된 jsp 페이지는 런타임시 모든 페이지에 포함될 수있는 분리 된 구성 요소로 설계되었으므로이 페이지에서 Java 코드에서이 값을 설정하는 자바 코드를 호출 할 수 없습니다. - 그래서 내가 찾고있는 이유입니다 태그 솔루션을 사용하여지도에서 값을 설정할 수 있습니다. 에 의해지도에서 미리

덕분에

답변

2

설정 값 :

OGNL 할당 문 JSP에서

:

<s:set var="" value="map[key] = keyValue" /> 

자바

<s:set var="" value="map.put(key, keyValue)" /> 

편집

당신은 예를 들어, 온 클릭 속성 버튼을 제출하여

<s:hidden name="map[key]" value="keyValue" /> 

지도에서 (액션 클래스) 값을 설정할 수 있습니다

(대답 - 여러 제출 버튼 가정) :

"어떻게 Struts2의지도에 값을 설정하는"를 검색 할 때
<script type="text/javascript"> 
    function setMap(key, keyValue) { 
     document.getElementById("mapToSet").name="map['" + key + "']"; 
     document.getElementById("mapToSet").value=keyValue; 
    } 
</script> 

<s:hidden name="test" id="mapToSet" /> 
<s:submit value="Search" onclick="setMap(key, keyValue)" /> 
+0

s : 제출 버튼을 클릭하면이 값을 맵에 설정해야합니다. s : set 태그가 s : submit 태그 안에 중첩 될 수 있습니까? –

+0

감사합니다 lschin, 당신의 솔루션은 일을 않습니다.하지만 내 문제는 최종 사용자가 자바 스크립트를 사용할 수없는 경우에도 클라이언트가 응용 프로그램을 올바르게 작동하도록 요구하기 때문에 자바 스크립트에서 응용 프로그램의 중요한 기능을 기반으로 할 수 없다는 것입니다. 그래서 나는 아직도 액션을 호출하지 않고이 세터 작업을 수행 할 스트럿츠/jstl 태그 기반 솔루션을 찾고있다. –

2

나는이 페이지를 발견하고는 (I는 약간의 OT를 이해) 다음과 같은 대답를 알려준 :


로 의 HTML 입력 요소 : 액션 변수를 채우는 것

<input type="hidden" name="myField[105]" value="myValue" /> 

선언으로 :

Map<Integer, String> myField; 

다음과 같이 :

myField.get(105).equals("myValue"); // == true