2 ejcsdn ejcsdn 于 2016.02.01 02:26 提问

关于RedirectAttributes的使用 1C

需求:在页面重定向的时候传递参数,不使用session,使用RedirectAttributes
代码如下

@RequestMapping( value = "testForward" )
public String testForward( HttpServletRequest request, final RedirectAttributes attr )
{

    // return "forward:/index.jsp";
    request.setAttribute( "aaa", "aaa" );
    return "forward:/global/testRedirect.do";
}

@RequestMapping( value = "testRedirect" )
public String testRedirect( HttpServletRequest request, final RedirectAttributes attr )
{
    // 下面这种方式参数将会被附在url后面传递过去
    // attr.addAttribute( "aaa", request.getAttribute( "aaa" ) );
    // 下面这种方式在jsp页面中就获取不到了
    attr.addFlashAttribute( "aaa", request.getAttribute( "aaa" ) );
    return "redirect:/index.jsp";
}

发现attr.addFlashAttribute( "aaa", request.getAttribute( "aaa" ) );的时候jsp页面使用${aaa}无法获取到参数。请各位大神解答,谢谢

4个回答

caozhy
caozhy   Ds   Rxr 2016.02.01 06:24

那就包装下,这样主程序就看不到while循环了。

 <?php
$sql_0="select * from category where category_parent_id = 0";
lt($sql_0, function($arr) {
    ...
    return $arr;
});
?>


function lt($sql, $factor)
{
    $query_0=mysql_query($sql);
    while ($rs_0 = factor(mysql_fetch_array($query_0)))
}
caozhy
caozhy 不好意思,这是回答另一个问题的,发错了。
接近 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.02.01 06:07

addFlashAttribute的原理是放入session,并且在下次请求的时候清除。所以你希望保持到再下个请求,你可以直接放入session中。

rui888
rui888   Ds   Rxr 2016.02.01 08:48

你是不是又刷新或者请求了,参考这个例子 http://jackyrong.iteye.com/blog/1798072

cslie
cslie   2016.02.01 10:33

reditect重定向,会丢弃request参数

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!