2015年11月24日 | Leave a comment 问题: Bean 使用的是RequestScoped,(不能用SessionScoped,ss会造成修改其他用户的订单也会显示上次看到的效果) orderEdit.xhtml?userId=11 中 有 订单选择下拉框,订单下拉是需要显示指定用户的 <h:selectOneMenu id="order" value="#{bean1.orderId}"> <f:selectItems value="#{bean1.orderListForUser}" /> </h:selectOneMenu> 123 <h:selectOneMenu id="order" value="#{bean1.orderId}"><f:selectItems value="#{bean1.orderListForUser}" /> </h:selectOneMenu> 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 , 是否还有其他解决办法?