javascript - 如何使用 <a4j :jsFunction><a4j:actionparam>

标签 javascript jsf richfaces ajax4jsf

我正在尝试使用:

<script type="text/javascript">
      function myfunc() {
         var param = 4;
         alert("OK");
      }
</script>

我这样调用函数:

<a4j:jsFunction name="myfunc">
    <a4j:actionparam name="param" assignTo="#{MyBean.myfield}"/>
</a4j:jsFunction>

但它不起作用。可能是什么原因?

最佳答案

你误解了<a4j:jsFunction>的目的.它自动生成一个 JavaScript 函数,然后您可以从 View 中的任何 JavaScript 代码调用该函数。

你的例子,

<a4j:jsFunction name="myfunc">
    <a4j:actionparam name="param" assignTo="#{MyBean.myfield}"/>
</a4j:jsFunction>

自动生成以下函数

<script>
    function myfunc(param) {
        // Here some specific JSF Ajax script which assigns "param"
        // to a managed bean property #{MyBean.myfield}
    }
</script>

不需要自己定义它。您只需要从别处的一些 JavaScript 代码中调用它。例如,

<span onclick="myfunc(4)">click here to set 4 in MyBean.myfield</span>

<script>
    function someOtherFunction() {
        var param = 4;
        myfunc(param);
    }
</script>

反过来又可以像这样使用

<span onclick="someOtherFunction()">click here to call someOtherFunction() which will in turn set 4 in MyBean.myfield</span>

另见:

关于javascript - 如何使用 <a4j :jsFunction><a4j:actionparam>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7580703/

相关文章:

java - 如何使用 Spring 和 JSF 向客户端授予临时权限

jsf - Richfaces:将rich:comboBox 限制为值列表的值

java - RichFaces:使用两个 modalPanel

javascript - 从服务器接收 json 数据以显示 Chart.js 图表不起作用

javascript - Chrome 浏览器中的 FakePath 问题

javascript - Twitter Bootstrap 模态背景不会覆盖 iPad 上的整个屏幕

javascript - 如何在 ionic 中显示 Javascript 文件中的数据?

javascript - JSF 子表展开/折叠

sorting - Primefaces 10+ Datatable如何从SortEvent获取排序列?

java - richfaces 3.3.x 中的客户端验证