gpt4 book ai didi

java - 包含 JSP 的 Spring Controller @RequestMapping

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:17:08 27 4
gpt4 key购买 nike

在我的站点中,所有 jsp 页面都包含 bodyHeader.jsp。我必须查询数据库以填充 bodyHeader.jsp 上的某些字段。我在我的 Controller 中映射了标题 jsp,我不希望在每个页面上触发此方法。那么这个方法没有被调用,我错过了什么?

非常jsp:

<jsp:include page="/fragments/bodyHeader.jsp"/>

在 Controller 中:

@RequestMapping(value = "/fragments/bodyHeader", method = RequestMethod.GET)
public void getCategoryList(Model aaModel) {

aaModel.addAttribute("categories", this.caService.findCategoryByLevel(0));
}

最佳答案

对于构建页面布局,我建议使用 Apache Tiles。这些页面将在运行时从片段中组装。

要使用 Apache Tiles,您可以添加 TilesViewResolver 作为 Spring 组件:

...
<bean class="org.springframework.web.servlet.view.tiles2.TilesViewResolver">
...

还有TilesConfigurer:

<bean class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property>
<list>
<value>/WEB-INF/views/**/views.xml</value>
</list>
</property>
</bean>

Tiles 模板views.xml:

...
<tiles-definition>
<definition name="template" template="/WEB_INF/views/common_template.jsp">
<put-attribute name="header" value="/WEB_INF/views/tiles/header.jsp"/>
<put-attribute name="side" value="/WEB_INF/views/tiles/side.jsp"/>
...
</definition>
<definition name="main" extends="template">
<put-attribute name="content" value="/WEB-INF/views/main.jsp"/>
</definition>
</tiles-definition>

另请参阅:

关于java - 包含 JSP 的 Spring Controller @RequestMapping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33808832/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com