Tiles 2、JSP的映射

发布于 2024-10-16 03:23:03 字数 514 浏览 1 评论 0原文

我使用 Tiles 2 和 Spring 3.05。我想将 jsp 文件映射到控制器,例如

 <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.html</url-pattern>
        <url-pattern>*.jsp</url-pattern>
 </servlet-mapping>

,当我这样做时,我得到“[WARN] org.springframework.web.servlet.PageNotFound [未找到带有 URI 的 HTTP 请求的映射 [/WEB-INF/*< /em>.jsp]”适用于所有图块。

如何从 servlet 映射中排除图块(来自 WEB-INF 内)?或者也许我可以明确地将这些文件映射到tiles servlet?

I use Tiles 2 with Spring 3.05. I want to map jsp files to controller, e.g.

 <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.html</url-pattern>
        <url-pattern>*.jsp</url-pattern>
 </servlet-mapping>

When I do so, I get "[WARN] org.springframework.web.servlet.PageNotFound [No mapping found for HTTP request with URI [/WEB-INF/*.jsp]" for all tiles.

How can I exclude the tiles (from within WEB-INF) from servlet-mapping? or maybe I can explicitly map those files to tiles servlet?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

献世佛 2024-10-23 03:23:03

您应该在 context 文件中配置它,而不是在 web.xml 中执行此操作。这些说明可在春季

Instead of doing this in web.xml, you should probably configure it in your context file. The instructions are available in the spring docs.

夜吻♂芭芘 2024-10-23 03:23:03

希望我的 spring-context.xml 的这一部分可以帮助您构建配置。
它基于以下事实:有两种tiles配置文件:

  • /WEB-INF/layouts/tiles-layouts.xml包含tiles布局定义
  • /WEB-INF/jsp/controllers/**/views。 xml是绑定view和jsp的几个文件

    
            <属性名称=“requestContextAttribute”值=“requestContext”/>
            <属性名称=“viewClass”
                    value="org.springframework.web.servlet.view.tiles2.TilesView" />
    
    
    
    
            <属性名称=“定义”>
                    <列表>
                            <值>/WEB-INF/layouts/tiles-layouts.xml
                            <值>/WEB-INF/jsp/controllers/**/views.xml                           
                    
            
    
    

其中/WEB-INF/jsp/controllers/**/views.xml之一文件:

 <tiles-definitions>

    <!-- Pages -->
    <definition name="site/list" extends="standard-layout">
            <put-attribute name="title" value="List Sites" />
            <put-attribute name="body" value="/WEB-INF/jsp/controllers/site/list.jsp" />
    </definition>
    <definition name="site/show" extends="standard-breadcrumb-layout">
            <put-attribute name="title" value="Show Site" />
            <put-attribute name="breadcrumbNavigation" value="/WEB-INF/layouts/siteBreadcrumbNavigation.jsp" />
            <put-attribute name="body" value="/WEB-INF/jsp/controllers/site/show.jsp" />
    </definition>
    <definition name="site/create" extends="standard-layout">
            <put-attribute name="title" value="Create Site" />
            <put-attribute name="body" value="/WEB-INF/jsp/controllers/site/create.jsp" />
    </definition>
    <definition name="site/update" extends="standard-layout">
            <put-attribute name="title" value="Update Site" />
            <put-attribute name="body" value="/WEB-INF/jsp/controllers/site/update.jsp" />
    </definition>

 </tiles-definitions> 

May this sippet of my spring-context.xml helps you to build your configuration.
It is based on the fact that there are two kind of tiles configuration files:

  • /WEB-INF/layouts/tiles-layouts.xml contains the tiles layout definitin
  • /WEB-INF/jsp/controllers/**/views.xml are several files that bind the view and jsp

    <bean id="viewResolver"
            class="org.springframework.web.servlet.view.UrlBasedViewResolver">
            <property name="requestContextAttribute" value="requestContext" />
            <property name="viewClass"
                    value="org.springframework.web.servlet.view.tiles2.TilesView" />
    </bean>
    
    <!-- Configure Apache Tiles for the view -->
    <bean id="tilesConfigurer"
            class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
            <property name="definitions">
                    <list>
                            <value>/WEB-INF/layouts/tiles-layouts.xml</value>
                            <value>/WEB-INF/jsp/controllers/**/views.xml</value>                           
                    </list>
            </property>
    </bean>
    

One of the /WEB-INF/jsp/controllers/**/views.xml files:

 <tiles-definitions>

    <!-- Pages -->
    <definition name="site/list" extends="standard-layout">
            <put-attribute name="title" value="List Sites" />
            <put-attribute name="body" value="/WEB-INF/jsp/controllers/site/list.jsp" />
    </definition>
    <definition name="site/show" extends="standard-breadcrumb-layout">
            <put-attribute name="title" value="Show Site" />
            <put-attribute name="breadcrumbNavigation" value="/WEB-INF/layouts/siteBreadcrumbNavigation.jsp" />
            <put-attribute name="body" value="/WEB-INF/jsp/controllers/site/show.jsp" />
    </definition>
    <definition name="site/create" extends="standard-layout">
            <put-attribute name="title" value="Create Site" />
            <put-attribute name="body" value="/WEB-INF/jsp/controllers/site/create.jsp" />
    </definition>
    <definition name="site/update" extends="standard-layout">
            <put-attribute name="title" value="Update Site" />
            <put-attribute name="body" value="/WEB-INF/jsp/controllers/site/update.jsp" />
    </definition>

 </tiles-definitions> 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文