是否可以这样做:
jsf代码(伪):
...
<f:param name="arg" value="document.getElementById('naming').text()">
<h:inputText id="naming"></h:inputText>
...
我的意思是接近,当<f:param>
是用JS设置的。
这是不好的做法吗?
感谢帮助。
你需要使用a4jcommandButton
and actionParam
能够将动态参数传递回服务器。
此外,您的 bean 上还需要一个用于接收参数值的属性。
Example:
<a4j:commandButton action="#{myBean.action}" value="Submit!">
<a4j:actionParam name="arg" noEscape="true" value="getTheValue()" assignTo="#{myBean.myBeanArg}" />
</a4j:commandButton>
Here myBean.myBeanArg
将接收javascript函数返回的值getTheValue()
.
注意noEscape="true"
属性。这是必需的,因为否则里面的数据value
会用单引号括起来并转义,导致 JavaScript 不执行。如中所述文档 http://docs.jboss.org/richfaces/3.3.X/3.3.1.GA/en/devguide/html/a4j_actionparam.html:
可以在“值”中使用 JavaScript 表达式或函数
属性。在这种情况下,“noEscape”属性应设置为
“真的”。 JavaScript 调用的结果被发送到服务器
作为一个值<a4j:actionparam>
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)