我的这段代码无法正常工作。我定义了 fieldToStore
。我可以提醒它,我可以在 firebug 控制台中看到它的值,但是当它传递给 myBean 时,如果是 String 值,它总是未定义的,如果是 bool 值,则它总是 undefined 。
有什么想法吗?
<a4j:commandButton id="bt1" action="#{myBean.doSomething}" onclick="fieldToStore=false;saveFieldState();">
</a4j:commandButton>
<a4j:jsFunction name="saveFieldState" action="#{myBean.dummyAction}" />
<a4j:actionparam name="fieldToStore" assignTo="#{myBean.fieldToStore}" />
</a4j:jsFunction>
我的预期是,在我点击 bt1 之后,根据 javascript var fieldToStore,myBean.fieldToStore 的值为 false。
最佳答案
您正在使用 <a4j:actionParam>
, 即 a combination of f:param and f:actionListener分配它的 value
属性为 assignTo
中的属性.
您想使用 <a4j:param>
反而。看这个example in the official docs
关于javascript var 未正确传递给支持 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11333532/