rich:menuitem传递参数

时间:2009-12-15 13:30:57

标签: java jsf richfaces

我使用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?

2 个答案:

答案 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,而不是在请求中。