gpt4 book ai didi

java - 如何在jsp中调用Spring MVC Controller

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

我想包含一个 jsp 页面作为例子

<ui:include src="/WEB-INF/jsp/header.jsp" />

但是我的 header.jsp 有变量,我需要一个 Controller 来初始化这些变量,有没有办法调用 Controller 并将 Controller 方法 jsp 包含在另一个 jsp 中?

例如;

<%@tag description="Overall Page template" pageEncoding="UTF-8"%>
<%@attribute name="header" fragment="true"%>
<%@attribute name="footer" fragment="true"%>
<html>
<body>
<div id="pageheader">
//include my header controller
<ui:include src="/WEB-INF/jsp/header.jsp" />
</div>
<div id="body">
<jsp:doBody />
</div>
<div id="pagefooter">
//include my footer controller
</div>
</body>
</html>

标题.jsp

Header
${test}

我的标题方法

public String header(Map<String, Object> model){
model.put("test", "test");
return "header";
}

但是 Controller 没有被使用并且${test}是空的

最佳答案

我认为,如果您从 MVC View 调用 MVC Controller ,您的应用程序将破坏常见的 MVC 原则。您的代码将难以调试、难以测试并且难以被其他人理解。

在一个 Controller 中为 View 的所有部分(页面的主要部分、页眉和页脚)准备模型属性可能是一个更好的主意。您传递给 JSP View 的模型在包含的自定义 JSP 标记和 JSP 中可用。

您可以使用 @ModelAttribute注释方法一次向几个 Controller 方法提供属性。

你可以使用 JSP tags而不是 JSP 页面来定义页眉和页脚(至少我在我的应用程序中是这样做的)。

关于java - 如何在jsp中调用Spring MVC Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20756121/

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