我对Apache Tiles 2.1有一个轻率的f%*#@ probelm,我与之合作:
我的问题是:Apache Tiles不能在每个JSP上运行,它似乎有问题
<tiles:insertAttribute name="body" />
此插入没有数据。当我看到生成的结果时,我可以看到:
<table id="tilecontent">
<tr>
<sec:authorize access="hasRole('USER') and !hasRole('TESTER')">
<td class="menu">
<div id="nav"><tiles:insertAttribute name="menu" ignore="false"/></div>
</td>
</sec:authorize>
<td>
<div id="targetSynthese">
<div id="ariane"><tiles:insertDefinition name="ariane" ignore="false"/></div>
<table>
<tr>
<td class="errorMessage autoHeight"><tiles:insertDefinition name="error" /></td>
</tr>
<tr>
<td><tiles:insertAttribute name="body" ignore="false"/></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
但是,当我刷新页面时,也会加载并使用图块。
问题来自于在“菜单”图块中使用sx:a,当我删除第一次正确加载的页面时。
春季安全是否可能有任何互动?
此致 谢谢大家。
编辑:Struts 2 JIRA https://issues.apache.org/jira/browse/WW-2950
答案 0 :(得分:0)
我已经解决了我的问题。它似乎是由Spring Security引入的
我已在过滤调度程序中删除了INCLUDE:
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<!-- <dispatcher>INCLUDE</dispatcher> -->
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
并在我的applicationContext
中添加一次per-request =“false”<sec:http access-denied-page="/accessDenied.jsp"
use-expressions="true" auto-config="false"
entry-point-ref="authenticationProcessingFilterEntryPoint"
lowercase-comparisons="false" **once-per-request="false"** realm="Pouet">