【问题标题】:a4j:commandButton passing values in callbacka4j:commandButton 在回调中传递值
【发布时间】:2012-06-16 04:01:44
【问题描述】:

我正在使用 JSF 2 和 RichFaces。我可以将一些值从 bean 传递给 a4j:commandButton 中的 oncomplete 函数吗?例如一些计数器(int)。

【问题讨论】:

    标签: jsf-2 richfaces


    【解决方案1】:

    你可以在那里使用 EL。它是根据每个请求进行评估的。

    <a4j:commandButton ... oncomplete="someFunction(#{bean.someIntProperty})" />
    

    请注意,此功能特定于 RichFaces 组件。标准 JSF 组件(和 PrimeFaces)将仅在每次视图构建时评估它们。

    【讨论】:

    • 我发现了一个我现在无法解决的小问题:当我输入 bean.someIntProperty 字符串时,我无法将它传递给 javascript 函数,但如果我输入 true/false 或没关系。
    • 如果它返回一个字符串,那么你需要像someFunction('#{someStringProperty}')那样引用它。否则将被解释为 JS 变量名。请记住,JSF 最终会生成 HTML/JS 代码,并且您需要确保最终使用有效的 HTML/JS 语法。在浏览器中右键单击页面并执行 View Source 以自己查看。 someFunction(someString) 显然只有在存在名称为 someString 的 JS 变量时才有效。
    • 如果我这样写:'#{someStringProperty}' 那么它将是 '#{someStringProperty}' 作为 String 而不是 this 的值。
    • 是的。请注意,这些单引号不是 JSF/EL 的一部分,而只是生成的 HTML/JS 代码的一部分。 Java/JSF/EL 不会在字符串周围加上引号(否则最终会出现丑陋的 JSF 页面:))
    • 那么...我应该用什么代替单引号?我想获得价值,但我没有用单引号获得它。
    猜你喜欢
    • 1970-01-01
    • 2011-09-06
    • 2012-08-17
    • 2019-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多