Есть ли способ передать аргумент в метод со страницы JSF? - PullRequest
0 голосов
/ 29 марта 2011

Я использую JSF 2. Можно ли отправить аргумент методу со страницы JSF?Я хочу сделать что-то вроде этого:

<p:dataTable id="groupsTable" var="group" 
   value="#{groupHandler.groupsByUserId( userHandler.selectedUser.id )}" >
   //...
</p:dataTable>

Спасибо, rob

Ответы [ 2 ]

4 голосов
/ 29 марта 2011

Это не относится только к JSF .Это специфично для EL .Если вы работаете в контейнере с Servlet 3.0 / EL 2.2 (Glassfish 3, JBossAS 6, Tomcat 7 и т. Д.) И ваш web.xml объявлен соответствующим спецификации Servlet 3.0, то ваш код будет работать.

На всем остальном это не сработает.Вам нужно будет обновить контейнер до Servlet 3.0 / EL 2.2 или изменить объявление web.xml (однако это сделает ваше веб-приложение несовместимым с контейнерами Servlet 2.5 или более ранними версиями) или установить пользовательскую реализацию EL, которая это поддерживает,например, JBoss EL .

Еще раз, это независимо от используемой версии JSF!Это было просто совпадение, что EL 2.2 был представлен в Java EE 6, которая также поставляется вместе с JSF 2.0.Так что есть какой-то городской миф / впечатление, что оно пришло вместе с JSF 2.0.

1 голос
/ 29 марта 2011

Да, можно послать аргумент методу на странице JSF. Код выше будет работать, если метод groupsByUserId() метод внутри bean groupHandler имеет этот формат

  public List<Group> groupsByUserId(Long id){
       List<Group> group = myEJB.findGroupsByUserId(id);
       return group;
  }
...