在编码中经常会遇到这样一种情况,
就是在一些操作出错需要把错误信息返回到页面时恰恰却需要Redirect跳转
这时候就会出现我在这里
model.addAttribute("error","出错了!")
的值没有了,这种情况怎么做呢,
1.首先我们需要一个enum类 用来保存所有错误提示
public enum EnumErrorInfo {
ERROR("login-1", "登录错误1!"),
ERROR2("login-2", "登录错误2!");
private String desc;
private String value;
private EnumInfo(String value, String desc) {
this.value = value;
this.desc = desc;
}
public String getDesc() {
return desc;
}
/**
* @return the value
*/
public String getValue() {
return value;
}
public static EnumInfo getEnum(String type) {
EnumInfo[] status = EnumInfo.values();
for(int i = 0; i < status.length; i++) {
if(status[i].getValue().equals(type) ) {
return status[i];
}
}
return null;
}
}
2.在跳转时
model.addAttribute("code", EnumInfo.ERROR.getValue());
return "redirect:/account/login";
3.在跳转到的方法中获取
public void setAlert(request, m){
String code = request.getParameter("code");
if(code == null || "".equals(code))
return;
EnumErrorInfo e = EnumErrorInfo.getEnum(code);
if(e != null)
model.addAttribute("error", e.getDesc());
}
可以封装成方法调用,应该不止一出使用
4.在页面显示
<c:if test="${error!= null}">
${error}
</c:if>
分享到:
相关推荐
在SpringMVC中,界面跳转和参数传递是两个关键的概念,它们使得前后端交互更加灵活和高效。 首先,让我们来探讨界面跳转。在SpringMVC中,有三种主要的界面跳转方式: 1. **视图解析器(View Resolver)**:这是最...
在处理方法中,我们可以创建这些对象,设置需要传递的数据和要跳转的目标URL。 1. `ModelAndView`:它包含了一个模型(Model)和一个视图(View)。模型用来存放要传递到视图的数据,视图则指定跳转的页面。例如: ...
在SpringMVC框架中,请求转发(Request Forwarding)和请求跳转(Redirecting)是两种常见的处理HTTP请求的方式,它们在控制用户交互和管理模型数据方面起着关键作用。理解这两种机制对于开发高效且用户体验良好的...
- 跳转方式:forward 和 redirect,分别对应页面内部转发和外部重定向。 - 作用域传值:session、request、application 等不同范围的变量传递。 - 文件上传与下载功能,支持大文件和断点续传。 - 异常处理机制,...
参数绑定是Web开发中常见的需求,SpringMVC提供了默认支持的参数类型,包括简单参数、Model/ModelMap、POJO对象以及包装的POJO。此外,还提供高级参数绑定,如数组类型和List类型。 @RequestMapping注解在SpringMVC...
- **Model对象**:适用于`forward`和`redirect`,数据会被添加到Model中,通过视图解析器解析后传递给页面。 - **Session作用域**:适用于`redirect`,将数据放入`HttpSession`,跨请求保持数据。 - **URL参数**:...
在本示例中,我们将深入探讨如何创建并运行一个基本的 Spring MVC 项目,实现页面跳转功能。 首先,让我们了解 Spring MVC 架构的核心组件: 1. **DispatcherServlet**:这是 Spring MVC 的入口点,负责接收 HTTP ...
在实际项目中,SSM(Spring、SpringMVC、MyBatis)组合还涉及拦截器、异常处理、国际化、权限控制等多个方面。通过合理配置和编码,可以构建出功能完备、易于扩展的应用系统。在SSM1这个压缩包中,可能包含了相关的...
在SpringMVC中,Model1和Model2是两种不同的模型。Model1是传统的MVC模式,Controller直接访问数据库,Controller将数据传递给View,View将数据展示给用户。Model2是基于接口的MVC模式,Controller将请求分发给...
`Model` 是一个接口,可以将数据添加到模型中,然后由 SpringMVC 自动处理。 **跳转方式** `RedirectAttributes` 接口提供了重定向和转发的功能。`redirectAttributes.addFlashAttribute()` 可以将数据添加到 ...
forward和redirect是SpringMVC中两种不同的页面跳转方式。forward是在服务器端内部跳转,不会改变浏览器地址栏的内容;redirect则是发送一个新的HTTP请求,通常用于重定向到另一个资源。 5.2 **使用@PathVariable...
它基于模型-视图-控制器(MVC)设计模式,其中Controller接收请求,Model处理数据,而View负责展示结果。在Spring MVC中,Controller类通常使用@Controller注解标识,并且可以包含多个处理请求的方法,这些方法通过@...
- 在这个例子中,`"redirect:/targetPage"`将用户重定向到`/targetPage`,并且`RedirectAttributes`中的信息会在新的请求中保留,适用于跨请求的数据传递。 两者的主要区别在于: - 请求转发是在服务器端内部完成...
例如,我们可以将数据放入ModelAndView的视图名称中,或者直接放入Model接口的实现中,如`ModelMap`。 5. 视图跳转: SpringMVC支持视图的转发和重定向。在ModelAndView对象中,`setViewName("forward:/path")`表示...
// 保存用户数据 System.out.println("Saved user: " + user); return "redirect:/success"; } } public class User { @NotNull private String name; @Email private String email; // 省略 getter 和 ...
在本课程"跟开涛学SpringMVC(4.6)Controller接"中,我们将深入探讨SpringMVC框架中的Controller接口控制器。这个部分是SpringMVC核心组件之一,用于处理HTTP请求并返回响应。Controller接口提供了将用户请求映射到...
在 SpringMVC 中,MVC 模式指的是 Model(模型)、View(视图)和 Controller(控制器)的分离,使得各个部分职责明确,提高代码的可维护性和可扩展性。 **1. SpringMVC 的核心组件与执行流程:** - **...
1. **模型(Model)**:在Spring MVC中,模型通常由业务对象或数据传输对象(DTO)组成。这些对象包含了应用程序需要处理的数据。例如,你可以创建一个名为`User`的类来存储用户信息。 ```java public class User {...
在 SpringMVC 中,可以根据不同的需求选择不同的方式来跳转页面: 1. **返回字符串视图名称**:这是一种常见的页面跳转方式。 ```java @RequestMapping("/toPage") public String toPage() { return "pageName...
根据提供的文件信息,本文将详细解析“javassm源码springmvc实现登录”的知识点,包括Spring MVC框架的基本概念、如何利用Java SSM(Spring + SpringMVC + MyBatis)框架进行登录功能的开发等内容。 ### 一、Spring...