2009-12-24 3 views
4

<jsp:include /> 중 하나를 JSP로 포함하고 매개 변수를 지정하면 OWNL %{#parameters.XXX}이 아닌 EL ${param.XXX}으로 완벽하게 액세스 할 수 있습니다. 예를 들어Struts2 : 매개 변수를 읽는 방법 <jsp:include>

:

<jsp:include page="fragment.jsp"> 
    <jsp:param value="foo" name="bar" /> 
</jsp:include> 

및 fragment.jsp

value of foo in EL : ${param.bar} 
value of foo in OGNL : <s:property value="%{#parameters.bar}" /> 

이유에 ?? 대신 Struts 태그에서 무엇을 사용해야합니까?

참고 : <jsp:include/> 대신 <s:include/>을 사용하면 EL에서도 매개 변수에 액세스 할 수 없습니다. /WEB-INF/page/whatever.jsp에서

<s:set name="searchName" value="my search term" /> 
<jsp:include page="/WEB-INF/page/whatever.jsp" /> 

:

Your searchTerm is <s:property value="#searchName" /> 
페이지를 포함한에서

:

+0

http://stackoverflow.com/q/13762054/1700321 –

답변

3

내가 문제를 해결하기 위해 할 것입니다

나는 그것이 당신을 위해 일하기를 희망합니다!

2

최근에이 문제가 발생했습니다. 이유는 <s:include>의 매개 변수가 ActionContextrequest.parameters 개체에 저장되어 있지 않지만 JSP 페이지의 HttpServletRequest에 저장되어있는 것입니다. 따라서 매개 변수는 EL(${param.xxx}) 또는 <% request.getParameters("xxxx") %>을 통해 얻을 수 있지만 우리는 (스트럿츠) ongl을 통해이를 가져올 수 없습니다. 매개 변수가 ActionContext에 없기 때문입니다.

ongl 사용을 주장하는 경우 ActionContext (또는 EL)을 통해 매개 변수를 추가하면 ongl을 통해 매개 변수를 얻을 수 있습니다.

-2

다음을 시도해보십시오.

<s:property value="%{#parameters['paramName']}"></s:property> 
+0

질문에 대한 답변이 아닙니다 .. 단지 코드 –

관련 문제