web.xml中jsp配置中的多个taglib文件?

时间:2012-03-03 12:44:09

标签: xml spring-security jsp-tags

我使用spring security将安全性集成到我的MVC应用程序中。我的web.xml片段如下:

...
<jsp-config>
    <taglib>
      <taglib-uri>/spring</taglib-uri>
      <taglib-location>/WEB-INF/tld/spring-form.tld</taglib-location>
    </taglib>
  </jsp-config>

</web-app>

当我在Spring安全参考中阅读/搜索时,我在页面末尾找到this page,与taglib相关。现在在我现有的MVC应用程序中,我已经有了.tld文件,如上面的代码片段所示。我应该为安全性添加另一个.tld文件,例如security.tld并在web.xml中定义它吗?我该怎么用?像这样:

<taglib-location>
             /WEB-INF/tld/spring-form.tld
             /WEB-INF/tld/security.tld
</taglib-location>

或者像这样:

        <taglib>
          <taglib-uri>/spring</taglib-uri>
          <taglib-location>/WEB-INF/tld/spring-form.tld</taglib-location>
        </taglib>
        <taglib>
          <taglib-uri>/security</taglib-uri>
          <taglib-location>/WEB-INF/tld/security.tld</taglib-location>
        </taglib>

请帮忙。谢谢

* 编辑:* 我使用的是spring 2.5.6和security 2.0.4

1 个答案:

答案 0 :(得分:2)

一种选择是将声明移动到一个公共JSP(如果使用JSP),如下所示:

<%@ taglib uri="/WEB-INF/tld/spring-form.tld" prefix="spring" %>
<%@ taglib uri="/WEB-INF/tld/security.tld" prefix="security" %>

然后您可以在任何想要使用其中一个标记的JSP中引用该JSP,如下所示(例如,如果您使用Tiles或Sitemesh,则在模板中运行良好)

<%@ include file="/jsp/common/taglibs.jsp" %>