失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > java中的model_Java程序员必看之springmvc中的Model对象在重定向中的数据

java中的model_Java程序员必看之springmvc中的Model对象在重定向中的数据

时间:2019-08-10 05:21:39

相关推荐

java中的model_Java程序员必看之springmvc中的Model对象在重定向中的数据

原标题:Java程序员必看之springmvc中的Model对象在重定向中的数据

在springmvc框架中,一个handler方法中的参数可以内置接收Model类型的对象,主要用于存储数据之用,主要用在转发效果,那么能否用在重定向中呢?

我们先来看一个model的简单使用演示。

首先搭建好springmvc环境,springmvc使用的是5.0.2.RELEASE版本。——下面的代码只贴出核心部分

步骤一:web.xml

——主要配置springmvc的核心控制器

dispatcherServlet

org.springframework.web.servlet.DispatcherServlet

contextConfigLocation

classpath:springmvc.xml

1

dispatcherServlet

/

步骤二:springmvc.xml

步骤三:Controller类

package springmvc;

@Controller

public class ModelAndViewTextController {//方法待实现}

步骤四:success.jsp

数据展示

${message}

下面来测试model的基本使用:

需求说明:发送一个testModel请求,后台接收并转发到success.jsp页面,将访问成功的信息带过去。

下面是controller类中方法的完成:

@RequestMapping("/testModel")

public String testModel(Model model){

model.addAttribute("message","测试model成功");

return "success";

}

大家注意观察,此处model添加的属性名message要和jsp中的${message}相一致。

启动服务访问后,效果如下:

上述演示的是model模仿request域对象完成转发带数据的效果。下面,我们来通过一个springmvc重定向的演示,来看一下model还能怎么用。

我们都知道,重定向表示会重新发起一个请求,采用的是不同的request对象,即,上一个request域对象中村的数据,下一次请求无法获取了,那么,model.addAttribute()方法存入的数据能不能在重定向时获取呢?

需求说明:发起一个请求 “/dataRedirect?username=宙斯”传递用户名为宙斯,后台handler1接收该参数,并存放到model中,handler1再通过重定向到另一个url “redNext”,在该方法参数中,尝试获取handler1中model的数据

我们在上述环境基础上,再次开发。

在Controller类中添加第一个处理方法

/**

* 使用请求路径 进行访问/dataRedirect?username=宙斯

* @param username //接收请求参数数据

*/

@RequestMapping("/dataRedirect")

public String redirectTest(Model model,String username){

System.out.println("打印dataRedirect接收到的数据:" + username);

model.addAttribute("name",username); //将接收到的数据放到model中

return "redirect:redNext"; //重定向到redNext

}

开发第二个重定向的处理方法

@RequestMapping("/redNext")

//注意,参数中的name和上一个redirectTest方法中,model设置的属性名保持一致

public String redNext(Model model,String name){

System.out.println("从dataRedirect转发过来之后,接收的数据:" + name);//打印name

return "success";//重定向到success.jsp页面

}

启动项目查看效果,注意网络请求过程以及后台打印结果

网络请求过程以及显示效果:

后台打印效果:

会发现,model将第一次请求中设置的属性值当做新的请求参数传递给了下一次转发路径所需参数中了。

咱们modeel的这种完成重定向传参的效果演示完毕!返回搜狐,查看更多

责任编辑:

如果觉得《java中的model_Java程序员必看之springmvc中的Model对象在重定向中的数据》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。