我使用rich:menuitem在Richfaces上构建菜单。我需要确定用户点击了哪个菜单项。我试着用:
<rich:menuItem submitMode="server" value="#{msg.sidemenu_alldocs_internal_documents_bill_sent_documents}" action="#{billdoc.list}">
<f:param name="sidemenutype" value="#{bill_sent}"/>
</rich:menuItem>
但是,我在请求参数中没有看到参数sidemenutype。为什么呢?
FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest req = (HttpServletRequest) context.getExternalContext().getRequest();
String docType = (String)context.getExternalContext().getRequestMap().get("sidemenutype");
docType为null。我能以某种方式将参数从jsp传递给请求,使用rich:menuitem?
答案 0 :(得分:2)
改为使用f:setPropertyActionListener
。
<f:setPropertyActionListener target="#{billdoc.bill_sent}" value="#{bill_sent}"/>
这需要在bill_sent
bean中使用getter和setter的属性billdoc
。
答案 1 :(得分:1)
我建议使用<f:setPropertyActionListener>
(在menuItem
内)并在bean的属性中设置docType,而不是在请求中。