今天我有一个非常简单的任务,我需要帮助。首先让我解释一下我的环境。 我们在Java / Hibernate / SEAM / Facelets / JSF / RichFaces& A4J设置..我不太了解它。
当旧的asp平台上的所有工作都完成时,我会使用它。
所以我有这样的事情(我只是不记得我是否有()股票检查后...我现在回家了):
<h:commandLink value="Submit" action="session.stockCheck()"/>
stockCheck()
方法不会运行!它没有返回一个值,它的工作就是在数据库中创建一个记录,它完美地做到了。
所以我尝试了一些事情,什么都没有用,我问我的同事,他说要把它改成a4j,它应该有效。我问他为什么,但他不知道。
现在看,当我不明白为什么事情有效或无效时,我真的被挂了。
将电子邮件提交到数据库的解决方案是:
<a:commandLink value="Submit" action="session.stockCheck()"/>
BTW:我们将a4j的命名空间设置为a。
我在这里希望有人可以向我解释一些事情。
幕后发生的事情以及<h:commandLink>
在这种情况下失败需要了解的内容?
谢谢。
答案 0 :(得分:1)
如果您正在嵌套表单,就会发生这种情况。这在HTML中是非法的,并且行为未指定并且取决于所使用的webbrowser。 ajax链接不提交表单,它只是通过JavaScript收集输入值,然后在后台发送XMLHttpRequest
。