Я хочу использовать несколько тегов библиотеки тегов весенней безопасности внутри файла декоратора site-mesh.Однако содержимое внутри этих тегов никогда не отображается.Может кто-нибудь сказать мне, почему это?
Код:
<!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