0

我使用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 为空。我可以使用rich:menuitem以某种方式将参数从jsp传递给请求吗?

4

2 回答 2

2

改为使用f:setPropertyActionListener

<f:setPropertyActionListener target="#{billdoc.bill_sent}" value="#{bill_sent}"/>

这需要在beanbill_sent中具有 getter 和 setter的属性。billdoc

于 2009-12-15T16:03:08.973 回答
1

我建议使用<f:setPropertyActionListener>(在您的内部menuItem)并将 docType 设置在您的 bean 的属性中,而不是在请求中。

于 2009-12-15T16:02:09.350 回答