JSTL属性通过tiles / jsp持久化:include

时间:2015-07-01 18:16:35

标签: jsp jstl tiles

我目前正在使用JSTL和Tiles(虽然我很确定这个问题不是磁贴问题)。

我想在模板级别包含一个“setVars”文件,它是一个包含大量JSTL变量的简单文件

e.g。

testPageVars.jsp

<c:set var="currentPage" value="testPage" scope="request" />
<c:set var="forward" value="newPage" scope="request" />
...
<c:set var="test" value="true" scope="request" />

这将包含在主要布局的某处。然而,似乎这些不会持续通过a或a或

好像他们没有“编译”(不确定这是不是正确的词)

所以在我的mainLayout.jsp

<jsp:include page="testPageVars.jsp"/>
<c:if test="${test == 'true'}>
   TEST WORKED
</c:if>

不起作用。

关于如何达到预期效果的任何想法?目前我提出的唯一解决方案是将这些值移到Java中(我正在使用struts)并将它们设置在那里。这不像我想的那样扩展。

修改

瓦片-def.xml

<definition name="main.layout" path="/jsp/mainLayout.jsp">
        <put name="actionVars" value="/jsp/testVars.jsp"/>
    </definition>

mainLayout.jsp

    <tiles:insert attribute="actionVars"/>
    <c:if test="${test == 'true'}">
       TRUE TWICE
    </c:if>

testVars.jsp

<c:set var="test" value="true" scope="request"/>
<c:if test="${test == 'true'}">
    TRUE
</c:if>

1 个答案:

答案 0 :(得分:0)

忘记在var文件中添加标记库。