sitemesh装饰器中的Spring安全标签

时间:2010-12-06 20:26:42

标签: java jsp struts spring-security sitemesh

我想在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>

由于某种原因,两个块都没有显示。

1 个答案:

答案 0 :(得分:22)

我猜您需要在过滤器链中的Spring Security过滤器之后放置Sitemesh过滤器,即相应地在<filter-mapping>中对其web.xml进行排序。