参考链接如下:

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. php base64_decode 解码方法

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

  2. GET /hello/fred/0926xxx572

    GET /hello/fred/0926xxx572 app.get('/hello/:name/:tel', function(req, res) { console.log(req.params. ...

  3. Phonebook 导入SD上的.vcf联系人

    2014-01-11 17:29:22 1. 当用户选择Phonebook中从SD卡导入联系人的操作后,程序回调转到ImportVCardActivity,然后用户选择好要导入的.vcf文件,并点击“ ...

  4. Python中通过多个字符分割(split)字符串的方法

    python中字符串自带的split方法一次只能使用一个字符对字符串进行分割,但是python的正则模块则可以实现多个字符分割 import re re.split('-|_','sharejs_ha ...

  5. WPF 画刷应用

    纯色: SolidColorBrush brush = new SolidColorBrush(Colors.White); window1.Background = brush; 渐变色: Line ...

  6. KMP算法中next函数的理解

    首先要感谢http://blog.csdn.net/v_july_v/article/details/7041827以及http://blog.chinaunix.net/uid-27164517-i ...

  7. VS2010中添加lib库引用

    VS2010中添加lib库引用: 1 菜单  项目---> 属性--->配置属性-->链接器---->输入---附加依赖项,  加入库名,如: my_API.lib; 或是在c ...

  8. 使用变量替换批量部署GoldenGate

    GoldenGate运行时允许在参数文件中动态指定一个值,即在参数文件中使用一个变量,而不是一个静态的值,当启动OGG进程时,根据环境动态加载此变量的值,达到在不同环境中,通过变量定义,实现多个环境的 ...

  9. 2013年7月底至8月初51Aspx源码发布详情

    兼职人员信息管理系统源码  2013-8-2 [VS2008]2013.8.2更新内容:修改了一级菜单不能修改的bug.功能介绍:兼职人员信息管理:添加,修改,删除,查询,支持数据导出Excel,按多 ...

  10. C#获取项目程序及运行路径的方法

    1.asp.net webform用“Request.PhysicalApplicationPath获取站点所在虚拟目录的物理路径,最后包含“\”: 2.c# winform用 A:“Applicat ...