使用Spring为不受保护的资源设置Tiles

时间:2015-07-15 06:26:31

标签: spring spring-mvc tiles apache-tiles

我在使用现有应用程序中的spring mvc设置切片时遇到问题。这是我的设置信息:

  • 我所有的jsps都在/ project / *目录下。我正在尝试访问 JSP(帮助文件等)通过其他JSP中的静态链接(如<a href="tilesTest.jsp">Tiles Test</a>)。 我没有这些JSP的控制器,也不想为这个特定的用例编写控制器(我已经测试过它适用于控制器),所以plz不建议编写控制器。

以下是我的配置:

spring-mvc-context.xml条目:

<bean id="tilesConfigurer"
      class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
    <property name="definitions">
        <list>
            <value>/WEB-INF/spring/tiles-def.xml</value>
        </list>
    </property>
</bean>

<bean id="viewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">   
     <!-- <property name="prefix" value="/WEB-INF/views/"/> -->
    <property name="suffix" value=".jsp"/> 
</bean>

tiles-def.xml条目:

 <definition name="tilesTest" template="/tilesTest.jsp">
    <put-attribute name="title" value="TITLE for TEST-TILES JSP"/>
    <put-attribute name="leftMenu" value="MY LEFT MENU"/>
    <put-attribute name="body" value="SOME BODY"/>        
</definition>
位于/projectWarName/tilesTest.jsp下的

tilesTest.jsp:

<%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %>
<html>
    <head>Tiles Test Page</head>
    <title><tiles:getAsString name="title"/></title>
    <body>
        <tiles:insertAttribute name="body"/>
    </body>
</html>

当我尝试访问我的jsp时(通过来自另一个jsp的链接,或直接通过浏览器),我收到以下错误。有人可以查看我的配置,让我知道错误吗?

root cause
java.lang.NullPointerException
    org.apache.tiles.template.DefaultAttributeResolver.computeAttribute(DefaultAttributeResolver.java:42)
    org.apache.tiles.template.GetAsStringModel.resolveAttribute(GetAsStringModel.java:178)
    org.apache.tiles.template.GetAsStringModel.start(GetAsStringModel.java:95)
    org.apache.tiles.jsp.taglib.GetAsStringTag.doTag(GetAsStringTag.java:306)
    org.apache.jsp.tilesTest_jsp._jspx_meth_tiles_005fgetAsString_005f0(tilesTest_jsp.java:128)
    org.apache.jsp.tilesTest_jsp._jspService(tilesTest_jsp.java:82)

由于

0 个答案:

没有答案