2011-03-04 7 views
0

나는 다음과 같은 코드가있는 스트럿츠 1 액션의 자바 웹 애플리케이션이 내 JSP 페이지에서ServletRequest.setAttribute는 마침표가있는 키 이름을 허용합니까?

request.setAttribute("cat.sound", "meow"); 

을, 나는 다음과 같은 태그가 :

<c:out value="${cat.sound}" /> 

그러나, "야옹"는 결코 JSP 페이지에 인쇄됩니다.

request.setAttribute("cat", cat); 

불행하게도,이 웹 애플리케이션은 고양이와 JSP 페이지에 정의 된 모든 객체가 고정되어 있지 않습니다 (변경은 허용되지 않습니다) : 내가 좋아하는 뭔가를 할 수있는 유형 "고양이"의 객체를 한 경우에 작동 할 수 있습니다.

따라서 마침표/점이 포함 된 키 이름으로 request.setAttribute를 사용할 수 있습니까? JSP 페이지는 어떻게 set 매개 변수를 참조해야합니까?

답변

1

당신은 당신이 "sound" 키 문자열로지도에 cat을 설정하는 경우 Cat 클래스를 생성하는 것을 방지 할 수 있습니다

request.setAttribute("cat", Collections.singletonMap("sound", "meow")); 

Collections#singletonMap()는 당신에게 하나 개의 항목으로지도를 만들 수있는 좋은, 간결 방법을 제공합니다.

+0

정확히 내가 무엇을 찾고 있었습니까. 감사. – David

관련 문제