Jsf 如何在方法中传递EL参数?

Jsf 如何在方法中传递EL参数?,jsf,el,Jsf,El,我有一个问题,就是如何在backingbeans方法上传递参数 我希望在方法参数之间传递EL值,如: <p:selectOneMenu id="somsgroup" value="#{store_itemController.filter_sgroup}"> <f:selectItems value="#{commonDataFunctions.getItemByName('store_sgroup', 'id', 'title', '[tb:store_sgroup][

我有一个问题,就是如何在backingbeans方法上传递参数

我希望在方法参数之间传递EL值,如:

<p:selectOneMenu id="somsgroup" value="#{store_itemController.filter_sgroup}">
   <f:selectItems value="#{commonDataFunctions.getItemByName('store_sgroup', 'id', 'title', '[tb:store_sgroup][fd:title]=${store_itemController.filter_group}', '[tb:store_sgroup][fd:title]', true)}"/>
</p:selectOneMenu>
它看起来像${store\u itemController.filter\u group}它没有被翻译,因为该方法像字符串一样接收${store\u itemController.filter\u group}


有解决方案吗?

我建议使用JBoss EL。如果是这样,您需要在web.xml中进行如下配置。 下载jar文件并参考


您确实不能这样嵌套EL表达式。EL表达式只能内联

您可以使用创建一个新变量,其中所需表达式内联在所需值中,然后将此变量作为另一个EL表达式的参数重用

xmlns:c=http://java.sun.com/jsp/jstl/core ... ...
这根本不支持嵌套EL表达式。你读过标题以外的问题吗?@BalusC,你的意思是JBoss EL不支持带$的EL sing?不。EL不支持嵌套表达式。在将来,在发布答案之前,最好先自己运行和实验它。嗨,我已经尝试过了,这个解决方案是解决这个JSF缺失的完美解决方案。非常感谢!!!!Balus,当我查看页面时,我可以打印我的参数-testting:{item.id}

param通过了ok,在ui中也很好:重复并呈现内容,但当我用submit更新表单时,它不会保存并发送呈现页面。怎么办?@DarioBB:确保它的视图范围。在submit.BalusC期间会重新检查它,但它也不起作用。我的意思是,它在列出时可以工作,但当我点击sumbit按钮时,视图崩溃,并且没有源代码。若我把实数改为参数idem.id,比如453——这不会发生——页面在提交后成功呈现,数据也成功保存到数据库中。我在日志中意识到,这是因为页面上的submit参数item.id为0,而在db中找不到0值,所以休眠chrash。如何解决此问题。如果item.id为0,是否可以避免此问题?不明白为什么JSF会在submitp.s上这样做。这是从控制台日志中我意识到我在前面的评论中所说的:警告:/items_promjena.xhtml@35,78 value={adresarService.getadresarbytem.id}:org.hibernate.ObjectNotFoundException:不存在具有给定标识符的行:[com.dev.user.model.Adresar0]
<context-param>     
    <param-name>com.sun.faces.expressionFactory</param-name>
    <param-value>org.jboss.el.ExpressionFactoryImpl</param-value>   
</context-param>