JSF按钮不调用托管bean中的方法

JSF按钮不调用托管bean中的方法,jsf,primefaces,Jsf,Primefaces,我有一个视图和一个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"

我有一个视图和一个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>
这是我的输出页面:

Test texttest
About Page

我认为这里的错误很简单,正如您所说,您没有在页面中定义表单,请尝试:

<h:form>
  <h:outputText value="Test text"/>
  <h:outputText value="#{navigationBean.test}"/>
  <div/>
  <p:commandLink value="About Page" action="#{navigationBean.goToAbout}"/>
</h:form>

我认为这里的错误很简单,正如您所说,您没有在页面中定义表单,请尝试:

<h:form>
  <h:outputText value="Test text"/>
  <h:outputText value="#{navigationBean.test}"/>
  <div/>
  <p:commandLink value="About Page" action="#{navigationBean.goToAbout}"/>
</h:form>

这是正确的答案,谢谢。这是正确的答案,谢谢。