问题:

Bean 使用的是RequestScoped,(不能用SessionScoped,ss会造成修改其他用户的订单也会显示上次看到的效果)

orderEdit.xhtml?userId=11 中 有 订单选择下拉框,订单下拉是需要显示指定用户的

orderListForUser 依赖userId,

直接用 f:viewParam 绑定不行,restoreView 阶段 orderListForUser()找不到有效的userId

 

解决:

request 通过 @Inject HttpServletRequest request; 注入到bean

把userId 改为从request.getParameter(“userId”) 中取,在form 中增加 <input type=”hidden” name=”userId” value=”#{request.getPameter(‘userId’)}” />以免重新post 后丢失userId

这样orderListForUser() 能取到有效的userId ,

 

是否还有其他解决办法?

发表评论

电子邮件地址不会被公开。