“此链接已停用,因为它未嵌入 JSF 表单中。”
当我使用以下命令链接:
<h:commandLink action="student" value="students" />
以及faces-config.xml中的以下导航规则:
<navigation-rule>
<from-view-id>/home.xhtml</from-view-id>
<navigation-case>
<from-outcome>student</from-outcome>
<to-view-id>/student.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
然后我收到以下开发阶段面孔消息:
此链接已停用,因为它未嵌入 JSF 表单中。
这是如何引起的以及如何解决?
When I use the following command link:
<h:commandLink action="student" value="students" />
And the following navigation rule in faces-config.xml
:
<navigation-rule>
<from-view-id>/home.xhtml</from-view-id>
<navigation-case>
<from-outcome>student</from-outcome>
<to-view-id>/student.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
Then I get the following development stage faces message:
This link is deactivated, because it is not embedded in a JSF form.
How is this caused and how can I solve it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要使用
包装链接。You need to have
<h:form>
wrapping the link.
触发 POST 请求。您需要将其嵌入
中。由于您已经使用了 JSF 2.0,因此您也可以只使用
来代替,它会触发不需要表单的 GET 请求,因此对于可书签性和 SEO 来说要好得多。此外,您还可以摆脱整个
,因为 JSF 2.0 使用隐式导航。它将隐式转到
student.xhtml
。确保您正在阅读 JSF 2.0 教程,而不是针对 JSF 1.x 的教程。 JSF 2.0 中添加了许多新标签和功能。
另请参阅:
The
<h:commandLink>
fires a POST request. You need to embed it in a<h:form>
.Since you're already on JSF 2.0, you can also just use
<h:link>
instead which fires a GET request which doesn't require a form and is thus way much better for bookmarkability and SEO. Also you can get rid of the whole<navigation-rule>
since JSF 2.0 utilizes implicit navigation.It will implicitly go to
student.xhtml
.Ensure that you're reading JSF 2.0 tutorials, not the ones targeted on JSF 1.x. In JSF 2.0 a lot of new tags and features have been added.
See also: