1

ビューと Bean があります。ここに問題がありますか? 私はいくつかのjsfナビゲーションを作ろうとしていますか? ナビゲーションリンクを返すメソッドを追加しますか? しかし、ボタンをクリックするとリクエストが送信されますが、メソッドは呼び出されません。私は非常に単純な間違いを犯したと思いますが、どこで私を助けてくれるのか理解できません。

それは私のビューコードです:

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui"
      xmlns:ui="http://java.sun.com/jsf/facelets">

<ui:composition template="include/template/Layout.xhtml">
    <ui:define name="body">
        <h:outputText value="Test text"/>
        <h:outputText value="#{navigationBean.test}"/>
        <div/>
        <p:commandLink value="About Page" action="#{navigationBean.goToAbout}"/>
    </ui:define>
</ui:composition>

</html>

それは私のBeanコードです:

@ManagedBean(name = "navigationBean")
@SessionScoped
public class NavigationBean implements Serializable {

    public String goToAbout(){
        return "About?faces-redirect=true";
    }

    public  String getTest(){
        return "test";
    }

}

それは私の出力ページです:

Test texttest
About Page
4

1 に答える 1

5

ここでのエラーは、あなたが言ったように単純だと思います。ページでフォームを定義していません。試してください:

<h:form>
  <h:outputText value="Test text"/>
  <h:outputText value="#{navigationBean.test}"/>
  <div/>
  <p:commandLink value="About Page" action="#{navigationBean.goToAbout}"/>
</h:form>
于 2013-06-01T22:18:05.343 に答える