8

次のコマンド リンクを使用すると:

<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 フォームに埋め込まれていないため、無効になっています。

これはどのように発生し、どうすれば解決できますか?

4

2 に答える 2

10

<h:commandLink>が POST リクエストを発行します。に埋め込む必要があり<h:form>ます。

<h:form>
    <h:commandLink action="student" value="students" />
</h:form>

すでに JSF 2.0 を使用<h:link>しているため、フォームを必要としない GET リクエストを起動する代わりに使用することもできます。したがって、ブックマーク機能と SEO の点ではるかに優れています。<navigation-rule>また、JSF 2.0 は暗黙的なナビゲーションを利用するため、全体を取り除くことができます。

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

暗黙的に に移動しstudent.xhtmlます。

JSF 1.x を対象としたチュートリアルではなく、JSF 2.0 のチュートリアルを読んでいることを確認してください。JSF 2.0 では、多くの新しいタグと機能が追加されました。

以下も参照してください。

于 2011-05-14T15:41:20.603 に答える
1

<h:form>リンクをラッピングする必要があります。

于 2011-05-14T15:43:10.040 に答える