【问题标题】:jsFunction pass data to backingbeanjsFunction 将数据传递给 backingbean
【发布时间】:2010-04-19 13:50:12
【问题描述】:

我有一个调用函数 addData(param1,param2,param3,param4) 的 javascript,它在最后调用 addClip

我需要将它们传递给支持 bean。

<a4j:form>
    <a4j:jsFunction name="addClip" action="#{backingBean.goGo}">
        <a4j:actionparam name="param1" assignTo="#{backingBean.param1}"/>
    </a4j:jsFunction>
</a4j:form>

但我似乎无法将任何值传递给 backingbean。我什至尝试为 actionparam 设置一个静态值。但是当我尝试对 setParam1 方法执行 Systemout 时,它只会打印出 null。我错过了什么重要的事情吗?

【问题讨论】:

  • 你是怎么调用函数的?
  • addClip(param1,param2,param3,param4)

标签: java jsf richfaces ajax4jsf


【解决方案1】:

您的函数定义了一个参数,但使用 4 调用。我假设存在 javascript 错误(检查您的 JS 控制台 (firefox))。

去掉3个不用的参数,取名为addClicp(param1)

【讨论】:

  • 我在 JSF 代码中添加了 4 个参数,并且从控制台中它似乎打印出设置所有参数,但第一个参数除外。但我似乎无法将值从 javascript 推送到 backingbean。调用函数顺利,但没有从 JS 调用中设置参数。
  • 如何提供所有有问题的代码,而不是让我猜测发生了什么? ;)
【解决方案2】:

如果你想将4个参数传递给backing bean,你必须按照下面的代码做。

<a4j:form>
<a4j:jsFunction name="addClip" action="#{backingBean.goGo}">
    <a4j:actionparam name="param1" assignTo="#{backingBean.param1}"/>
    <a4j:actionparam name="param2" assignTo="#{backingBean.param2}"/>
    <a4j:actionparam name="param3" assignTo="#{backingBean.param3}"/>
    <a4j:actionparam name="param4" assignTo="#{backingBean.param4}"/>
</a4j:jsFunction>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-05
    • 1970-01-01
    • 2015-11-16
    • 2015-09-23
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多