我正在尝试将参数传递给托管bean。 bean配置和工作,有两个方法“getResponsible”和“setResponsible”。 调用“myLookup.responsible”有效。
我无法将参数传递给我的bean,也无法找出原因。 以下代码不起作用。
<xp:comboBox id="comboBox1">
<xp:selectItems>
<xp:this.value><![CDATA[#{myLookup.setResponsible("Something")}]]>
</xp:this.value>
</xp:selectItems>
</xp:comboBox>
一旦我输入paranthesis“)”,“(”或分号“;”我得到错误“EL语法错误”。我想我在这里犯了一些基本错误。
答案 0 :(得分:4)
表达式语言的版本不允许轻松传递参数。此选项可能有效http://blog.defrog.nl/2012/04/settings-bean-parameterized-method-call.html。
如果需要参数,我通常使用SSJS,所以:
#{javascript:myLookup.setResponsible("Something");
如果选项在页面生命期间不会发生变化,您可以随时计算页面加载次数,因此:
${javascript:myLookup.setResponsible("Something");
答案 1 :(得分:3)
我认为你刚刚做了一个简单的&#34;拼写错误&#34;保罗在答复中间接表示。您编写了Javascript代码,但未包含&#34; javascript:&#34;在表达的开头。
但是,如果您确实希望在EL中使用参数,那么请查看此very interesting article。我还没有尝试过(但我很快就会这样做) - 但是当你想使用EL时,两个不同的例子(看看评论)似乎很有趣。而且我更喜欢EL而不是SSJS。
/约翰