Java 为什么a:commandLink';s action属性有效,但h:commandLink';s不是吗?

Java 为什么a:commandLink';s action属性有效,但h:commandLink';s不是吗?,java,jsf,richfaces,jsf-1.2,Java,Jsf,Richfaces,Jsf 1.2,我今天有一个非常简单的任务,我需要帮助。首先让我解释一下我的环境。 我们正在进行Java/Hibernate/SEAM/Facelets/JSF/RichFaces&A4J设置。。我对这件事不太了解 当旧asp平台上的所有工作都完成后,我就会使用它 所以我有过这样的经历(我只是不记得在盘点之后我是否有过()。我现在回家了): 顺便说一句:我们将a4j的名称空间设置为a 我在这里希望有人能向我解释一下这件事 在这种情况下,的失败背后发生了什么,需要了解什么 谢谢。如果您正在嵌套表单,可能会发生这种

我今天有一个非常简单的任务,我需要帮助。首先让我解释一下我的环境。 我们正在进行Java/Hibernate/SEAM/Facelets/JSF/RichFaces&A4J设置。。我对这件事不太了解

当旧asp平台上的所有工作都完成后,我就会使用它

所以我有过这样的经历(我只是不记得在盘点之后我是否有过()。我现在回家了):

顺便说一句:我们将a4j的名称空间设置为a

我在这里希望有人能向我解释一下这件事

在这种情况下,
的失败背后发生了什么,需要了解什么


谢谢。

如果您正在嵌套表单,可能会发生这种情况。这在HTML中是非法的,行为未指定,并且取决于所使用的webbrowser。ajax链接不提交表单,它只是通过JavaScript收集输入值,然后在后台发送
XMLHttpRequest

另见:

如果包含标准命令链接的表单事先由另一个ajax请求重新呈现,则可能发生这种情况。你的情况是这样吗?这是ajax4jsf中的一个bug。中概述了所有其他可能的原因。嵌套表单是另一种可能性,但这显然是一个错误。@BalusC感谢您提供了指向该非常详细答案的链接!顺便说一句,我确实有嵌套表单,当我删除嵌套表单时,h:commandLink操作属性触发了相应的方法。所以这不是因为另一个ajax请求。我确实觉得有趣的是,例如在.NET中,页面会立即失败,并在嵌套表单上抛出错误。。但我想JSF确实有一些“容忍度”?…JSF确实没有验证这一点。
<h:commandLink value="Submit" action="session.stockCheck()"/>
<a:commandLink value="Submit" action="session.stockCheck()"/>