我想在site-mesh的装饰文件中使用spring安全标签库的一些标签。但是,这些标记内的内容永远不会显示。谁能告诉我为什么呢?
码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <%@taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator" %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@taglib prefix="sec" uri="http://www.springframework.org/security/tags" %> <html xmlns="http://www.w3.org/1999/xhtml"> <!--HTML--> <form id="login_form" method="post" action="<c:url value='j_spring_security_check'/>"> <sec:authorize access="isAuthenticated()"> <p>profile</p> <p>messages</p> </sec:authorize> <sec:authorize access="isAnonymous()"> <!--A Login form --> </sec:authorize> </form> <!--More HTML --> </html>
由于某些原因,两个块均未显示。
我猜您需要将Sitemesh过滤器放置在过滤器链中的Spring Security过滤器之后,即按顺序排列它们<filter- mapping>的web.xml。
<filter- mapping>
web.xml