我的jsp中有这样的结构:
<h:commandLink action=#{docbean.save}>
<a4j:actionParam name="somename" value="bill_all" assignTo="#{billdoc.billType}"/>
<a4j:actionParam name="somename" value="bill_document" assignTo="#{docbean.doctype}"/>
</h:commandLink>在调试时,我看到billdoc.billtype和docbean.doctype具有相同的值:"bill_document“。
是虫子吗?如果没有,那么我如何才能将价值赋予我的托管bean呢?
更新:
找到了答案:
我有两个actionParams,只有一个名字。ActionParam为f:actionListener + f:param。因此,如果您有几个有一个名称的actionparams,您就会遇到我遇到的问题。RichFaces和JSF不会对此发出警告。
发布于 2010-03-23 09:10:58
首先,您需要这里的空间<a4j:actionParamvalue -在value之前
第二,您可以尝试这个,而不是<a4j:actionParam>。
<f:setPropertyActionListener value="bill_all" target="#{billdoc.billType}" />如果表单中存在验证错误,则可能需要将immediate="true"放在commandLink上。您可以通过在页面顶部添加<rich:messages />来查看这些错误。
发布于 2010-03-23 10:39:31
尝试使用a4j:commandLink。或者--如果您坚持h:commandLink --尝试将您的a4j:actionParams嵌入到a4j:support标记中。
https://stackoverflow.com/questions/2498575
复制相似问题