html页面解析modelAndView返回的对象

这篇博客探讨了后端如何使用ModelAndView对象将数据如`redirectUrl`和`state`传递给前端。在后端,通过设置ViewName并添加对象到ModelAndView中,然后返回。前端部分展示了如何在HTML中使用这些数据,通过`<p>`标签显示`redirectUrl`和`state`的值。

后端

ModelAndView modelAndView=new ModelAndView();
modelAndView.setViewName("index");
modelAndView.addObject("redirectUrl",redirect_uri);
modelAndView.addObject("state",state);
return modelAndView;

前端

<p th:utext=${redirectUrl} id="redirectUrl"></p>
<p th:utext=${state} id="state"></p>

### 使用 `ModelAndView` 返回 JSP 页面 在 Spring MVC 中,`ModelAndView` 是一种用于封装模型数据和视图名称的对象。当控制器处理请求并返回响应时,可以使用 `ModelAndView` 来指定要渲染的 JSP 页面以及传递给该页面的数据。 #### 创建控制器方法 为了展示如何通过 `ModelAndView` 返回 JSP 页面,在控制器类中定义一个处理器方法: ```java import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; @Controller public class ExampleController { @RequestMapping("/examplePage") public ModelAndView showExamplePage() { String viewName = "exampleView"; // 对应于 WEB-INF/views/exampleView.jsp 文件路径 // 添加属性到模型中 ModelMap model = new ModelMap(); model.addAttribute("message", "This message comes from the controller"); return new ModelAndView(viewName, model); } } ``` 上述代码展示了创建一个新的 `ModelAndView` 实例的过程,并指定了逻辑视图名 `"exampleView"` 和一些附加到模型中的键值对数据[^4]。 #### 配置视图解析器 为了让应用程序知道在哪里查找对应的物理文件(即 `.jsp`),需要配置视图解析器。通常是在 XML 或者基于 Java 的配置类里完成这项工作。这里给出的是基于 Java Config 的例子: ```java import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.view.InternalResourceViewResolver; @Configuration public class AppConfig { @Bean public ViewResolver internalResourceViewResolver() { InternalResourceViewResolver resolver = new InternalResourceViewResolver(); resolver.setPrefix("/WEB-INF/views/"); resolver.setSuffix(".jsp"); return resolver; } } ``` 这段配置告诉应用服务器所有的视图都位于 `/WEB-INF/views/` 下面,并且以 `.jsp` 结尾。 #### 编写 JSP 页面 最后一步就是编写实际显示这些信息的 JSP 页面 (`exampleView.jsp`) ,它会接收来自控制器的信息并通过 HTML 渲染出来: ```html+jsp <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Example Page</title> </head> <body> <h1>${message}</h1> </body> </html> ``` 此模板利用 EL 表达式 `${}` 获取存储在模型里的变量值并将其嵌入到文档结构内。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值