2014-04-08 2 views
0

내가 가진 내 프로젝트의 JSP 페이지의 코드 조각,스트럿츠 태그는 태그의 속성에 스크립틀릿을 허용하지 않습니다

<%@taglib uri="/struts-tags" prefix="s" %> 
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 

<div id="div1"></div> 
<div id="div2"></div> 
<% String var="hello"; %>   
<c:set var="test1" value="<%= var %>"/> 
<s:set var="test2" value=" <%=var%>" /> 
<script> 
document.getElementById("div1").innerHTML="${test1}"; //hello 
document.getElementById("div2").innerHTML="${test2}"; //nothing is displayed. 
</script> 

내 의심의 여지가 모두 <c:set..> 태그와 <s:set..> 태그가 동일한에 의해 실행된다 다음 컨테이너, 하지만 첫 번째 결과가 "hello"로 생성되고 나중의 결과가 나오지 않는 이유는 무엇입니까?

답변

0

모든 것이 좋습니다. 두 번째 경우에는 태그를 올바르게 지정하지 않은 것입니다.

<c:set var="test2" value=" <%=var%>" /> 

귀하의 코드

<s:set var="test2" value=" <%=var%>" /> 

변경은 기본적으로 우리는 다음과 같은 구문이

<s:property value="test2"/> 
+1

, 그것은 스트럿츠 2 태그입니다. – reddy

+0

둘 다 왜 혼합하려고하는지 알 수 있습니까? 왜 두 번째 경우에는 JSTL 태그를 사용할 수 없습니까? – mahesh

+0

JSTL 태그를 사용할 수는 있지만 의심 스럽지만 태그에 expreression language를 사용하고 있습니다. – reddy

0

를 중첩 할 수 없습니다 스크립틀릿 없으며, 다른에게 시도를 사용하여 스트럿 변수를 표시 Struts 태그 안에있는 Struts 태그.

그러나 태그를 열고 중간에 넣어 수 있습니다 : 나는 올바른 태그 태그를 준

<s:set var="test2" > 
    <%=var%> 
</s:set> 
+0

우리는 JSTL 태그에서 스크립틀릿을 중첩 할 수있는 반면 struts 태그에서 중첩 스크립틀릿을 사용할 수없는 이유를 설명합니다. 그 이유는 무엇입니까? – reddy

관련 문제