托管 bean 中的 Xpages Combobox 设置值

Xpages Combobox setting values in managed bean

我正在尝试将参数传递给托管 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>

只要我输入括号“)”、“(”或分号“;”,我就会收到错误 "Error in EL syntax"。我想我在这里犯了一些基本错误。

表达式语言的版本不允许轻松传递参数。此选项可能有效 http://blog.defrog.nl/2012/04/settings-bean-parameterized-method-call.html.

如果需要参数,我一般使用SSJS,所以:

#{javascript:myLookup.setResponsible("Something");

如果选项在页面的生命周期内不会发生变化,您始终可以在页面加载时进行计算,因此:

${javascript:myLookup.setResponsible("Something");

我想你只是做了一个简单的 "typo" 正如保罗在他的回复中间接陈述的那样。您编写了 Javascript 代码,但没有在表达式的开头包含 "javascript:"。

但是,如果您确实想在 EL 中使用参数,请查看此 very interesting article。我自己还没有尝试过(但我很快就会尝试)——但是当你想使用 EL 时,这两个不同的例子(看看评论)看起来非常有趣。而且我更喜欢 EL 而不是 SSJS。

/约翰