参考链接如下:

http://bbs.csdn.net/topics/391034118?page=1

自己的示例程序:

详细页面提交一个修改动作,修改完成后跳转到检索页面,把检索条件重新赋值给检索页面。

本地页面

    <input type="hidden" name="startDate" value="${(requestDto.startDate)!""}">
<input type="hidden" name="endDate" value="${(requestDto.endDate)!""}">

本地controller

private static final String SEARCH_PAGE = "redirect:/list/search.do";
@RequestMapping(value = "/update", method=RequestMethod.POST)
public String update(RequestDto requestDto,ModelMap modelMap,RedirectAttributes attr) {
/*这段代码就不贴出来了*/
setRedirectParam(requestDto, attr);
return SEARCH_PAGE;
} private void setRedirectParam(RequestDto requestDto,RedirectAttributes attr){
attr.addAttribute("startDate", requestDto.getStartDate());
attr.addAttribute("endDate", requestDto.getEndDate());
}

检索页面

    <input type="text" name="startDate" value="${(requestDto.startDate)!""}">
<input type="text" name="endDate" value="${(requestDto.endDate)!""}">

检索controller

 @RequestMapping("/search")
public String search(RequestDto requestDto,DalPage pagination,ModelMap modelMap) { }

据参考的帖子,参数传递除了attr.addAttribute();

还有一种方式:attr.addFlashAttribute();使用这个的时候一般用来传递处理结果。

本地页面同上

本地controller

private static final String SEARCH_PAGE = "redirect:/list/search.do";
@RequestMapping(value = "/update", method=RequestMethod.POST)
public String update(RequestDto requestDto,ModelMap modelMap,RedirectAttributes attr) {
/*这段代码就不贴出来了*/
setRedirectParam(requestDto, attr);
return SEARCH_PAGE;
} private void setRedirectParam(RequestDto requestDto,RedirectAttributes attr){
attr.addFlashAttribute("successCode", requestDto.getStartDate());
}

检索页面

<script type="text/javascript">
window.onload=function(){
if(""!="${(successCode)!""}"){
alert("${(successCode)!""}");
}
}
</script>

检索controller可以不用接参数。且可以通过如下形式查看

@RequestMapping("/search")
public String search(HttpServletRequest httpRequest) {
Map<String, ?> map=RequestContextUtils.getInputFlashMap(httpRequest);
}

map里面存放的就是闪存的值。

然后就是混合使用

attr.addAttribute("startDate", requestDto.getStartDate());
attr.addAttribute("endDate", requestDto.getEndDate());
attr.addFlashAttribute("successCode", "3001");

这样做的话,页面那边是取不到闪存的值得,只能取到get提交参数。

spring mvc 重定向传参的更多相关文章

  1. Spring MVC URL传参

    Spring MVC 学习 之 - URL参数传递   在学习 Spring Mvc 过程中,有必要来先了解几个关键参数:    @Controller: 在类上注解,则此类将编程一个控制器,在项目启 ...

  2. spring MVC 尝试传参json(应用部分)

    spring 3.1后增加新的注解:@Requestbody,@Responsebody, 暂不论Requestdody, 若想让后端代码直接返回json字符串,可使用@Responsebody, 用 ...

  3. 解决Spring MVC前台传参中文乱码问题

    在web.xml文件中配置字符编码过滤器: <filter> <filter-name>CharacterEncoding</filter-name> <fi ...

  4. Spring MVC POJO传参方式

    有两POJO类 Address.java package com.proc; public class Address { private String province; private Strin ...

  5. spring mvc controller间跳转 重定向 传参(转)

    spring mvc controller间跳转 重定向 传参 url:http://zghbwjl.blog.163.com/blog/static/12033667220137795252845/ ...

  6. SpringMVC归纳-1(model数据模型与重定向传参技术)

    要点: model是一个Map结构的数据模型,能重定向时传递数据(拼接URL),但不安全,主要用于渲染前端页面,配合Thymeleaf填充html里面里设置好的参数. @RequestParam用来获 ...

  7. Spring MVC上传文件

    Spring MVC上传文件 1.Web.xml中加入 <servlet> <servlet-name>springmvc</servlet-name> <s ...

  8. Spring MVC 上传文件

    Spring MVC上传文件需要如下步骤: 1.前台页面,form属性 method设置为post,enctype="multipart/form-data"  input的typ ...

  9. jsp内部传参与重定向传参

    1 重定向地址栏会发生改变,因为它会发送两次请求,内部转发,地址栏不会发生改变,因为它只有一个请求2 重定向不能获取上一次请求中的参数,而内部转换可以3 内部转发可以访问WEB-INF下的资源,重定向 ...

随机推荐

  1. ROS程序编辑器

    我找到的比较好用的ROS代码编辑器,对于emacs和vim等神级编辑器不能自动补全,对于我这种新手编译出错都是字母打错了, 因此果断回避,找到了一款叫做code blocks的编辑器,在软件中心就能下 ...

  2. php base64_decode 解码方法

    <?php header('Content-Type:text/html;charset=utf-8'); function encode_file_contents($filename) { ...

  3. TClientDataSet 设计期 多次New 字段问题

    第一次New几个字段后,右键菜单CreateDataSet 后来需要再New几个字段. 右键菜单,先 ClearData(不这样,会报 打开的数据集不能执行 这个New字段的操作),然后在 字段编辑器 ...

  4. outlook新邮件到达提醒设置以及outlook最小化到托盘设置

    有些邮件是需要马上处理的,因此希望能在收到邮件之后马上就知道,但是有不希望频繁的去检查有没有.outlook可以帮我们轻松做到新邮件到达提醒. 一 .设置outlook新邮件到达提醒:选项->电 ...

  5. 最大公约数——Program G

    最大公约数 Description There is a hill with n holes around. The holes are signed from 0 to n-1. A rabbit ...

  6. VS2013项目配置directx11

    假定你已经安装好了direct11 SDK(官方下的既是最新版本)和VS2013,并在VS2013中建立了一个新工程. 用VS2013打开工程后,点击右键属性,选择VC++目录: 其中在包含目录中添加 ...

  7. Struts2 validate校验

    一般的,用户注册的时候,我们需要校验一些用户提交过来的参数. 一般有两道屏障,一是在前台页面上使用js进行验证,直接杜绝了不正常信息的提交.二是将提交过来的信息进行验证,不通过则返回注册页面并显示错误 ...

  8. iOS开发XCODE5 SVN配置 使用办法

    第一次弄svn版本控制,折腾了好久一直都出错!无意间看到一篇文章!貌似解决了,很感谢“代码妖娆” 的详细流程(http://blog.sina.com.cn/s/blog_68661bd80101ph ...

  9. python几大排序算法

    1.插入排序 原理:有数列[k1,k2,k3...],假设k1是排好序的,插入k2,排序完成,然后再插入k3,以此类推 def insert_sort(arr): for i in range(1,l ...

  10. NSString和data转换

    NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); NS ...