日期:2014-05-18  浏览次数:20817 次

jsf中,两个页面间传值,使用session可以传递到下个页面,使用request无法实现,请高人指点。
jsf中,两个页面间传值,使用session可以传递到下个页面,使用request无法实现。
代码如下:
Map <String,Object>   requestParameterMap   =   FacesContext.getCurrentInstance().getExternalContext()
.getRequestMap();

requestParameterMap.put( "CostumerEntity ",   costumerEntity);
requestParameterMap.put( "OrderTicketList ",   orderTicketList);

return   "ModifyCoustomer ";

------解决方案--------------------
session可以传递对象
request只能传递字符串,这个你要清楚
------解决方案--------------------
不明白搂住想做什么?
首先

从搂住的命名规则来看,是requestParameterMap,搂住想做参数传递,这时候应该是 FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();而不是FacesContext.getCurrentInstance().getExternalContext().getRequestMap();

但是从java doc来看
getRequestParameterMap()
Return an immutable Map whose keys are the set of request parameters names included in the current request, and whose values (of type String) are the first (or only) value for each parameter name returned by the underlying request. 就是说这个map是不可变化的,如果想往这个map中put值的话,就会出现错误。

如果搂住真的想往request中加入属性的话,正如request的意思一样,它的作用域只是request,当你请求到下一个页面是通过getRequestMap可以找到,但是在跳到下一个页面,或者返回到原页面的时候,就找不到了。