2009-12-15 3 views
0

У меня есть меню на Richfaces с использованием rich: menuitem. Мне нужно определить, какой элемент меню был нажат пользователем. Я попытался использовать:rich: menuitem параметр передачи

<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?

ответ

1

Я бы рекомендовал использовать <f:setPropertyActionListener> (внутри вашего menuItem) и установить docType в свойстве вашего компонента, а не в запросе.

2

Вместо этого использовать f:setPropertyActionListener.

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

Это ожидает, что свойство bill_sent с геттер и сеттер в billdoc фасоли.

+0

Я бы не поощрял выделение отделенных друг от друга свойств :) – Bozho

+0

Я тоже. * 15 символов req'd * – BalusC

Смежные вопросы