有没有办法将参数传递给JSF页面中的方法?

时间:2011-03-29 15:16:17

标签: jsf el

我正在使用JSF 2.是否可以从JSF页面向方法发送参数?我想做这样的事情:

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

谢谢, 抢劫

2 个答案:

答案 0 :(得分:4)

这不是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声明(但它会使您的webapp与Servlet 2.5容器或更旧的容器不兼容),或安装支持的自定义EL实现那,例如JBoss EL

再一次,这与使用的JSF版本无关!简而言之,EL 2.2是在Java EE 6中引入的,它也与JSF 2.0结合在一起。因此,它与JSF 2.0一起出现了某种城市神话/印象。

答案 1 :(得分:1)

是的,可以在JSF页面中向方法发送参数。如果bean groupsByUserId()中的方法groupHandler方法具有此格式

,则上述代码将起作用
  public List<Group> groupsByUserId(Long id){
       List<Group> group = myEJB.findGroupsByUserId(id);
       return group;
  }