JSF - 2 a4j:actionParam在一个commandlink错误中

时间:2010-03-23 09:04:36

标签: java jsf

我在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。所以,如果你有几个带有一个名字的动作游戏,你就会遇到问题。 RichFaces和JSF并没有警告你。

2 个答案:

答案 0 :(得分:3)

首先,您需要<a4j:actionParamvalue之前的空格 - value

之前

其次,您可以尝试此而不是<a4j:actionParam>

<f:setPropertyActionListener value="bill_all" target="#{billdoc.billType}" />

如果表单中存在验证错误,您可能需要在immediate="true"上加commandLink。您可以通过在页面顶部添加<rich:messages />来查看这些错误。

答案 1 :(得分:0)

尝试使用a4j:commandLink。或者 - 如果你坚持使用h:commandLink - 尝试在a4j:support标签中嵌入你的a4j:actionParams。