jsf-2 – “此链接已停用,因为它未嵌入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>

然后我得到以下开发阶段面部消息:

This link is deactivated,because it is not embedded in a JSF form.

这是怎么造成的,如何解决

解决方法

< h:commandLink>触发POST请求.您需要将其嵌入< h:form>中.
<h:form>
    <h:commandLink action="student" value="students" />
</h:form>

由于您已经使用JSF 2.0,因此您也可以使用< h:link>相反,它会激发一个不需要表格的GET请求,因此对于书签和搜索引擎优化更好.你也可以摆脱整个< navigation-rule>因为JSF 2.0使用隐式导航.

<h:link value="students" outcome="student" />

它将隐式转到student.xhtml.

确保您正在阅读JSF 2.0教程,而不是针对JSF 1.x的教程.在JSF 2.0中添加了许多新标签功能.

也可以看看:

> When should I use h:outputLink instead of h:commandLink?
> We don’t need stinkin’ faces-config

相关文章

Mip是什么意思以及作用有哪些
怎么测试Mip页面运行情况
MIP安装的具体步骤有哪些
HTML添加超链接、锚点的方法及作用详解(附视频)
MIP的规则有哪些
Mip轮播图组件中的重要属性讲解