2013-06-01 5 views
1

У меня есть представление и фасоль, вот моя проблема? Я пытаюсь сделать некоторую навигацию jsf? и добавить метод, который возвращает ссылку навигации? но когда я нажимаю кнопку, он посылает запрос, но метод никогда не вызывается. Я думаю, что сделал очень простую ошибку, но не могу понять, где, пожалуйста, помогите мне.Кнопка 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> 

Это нам мой код фасоли:

@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 

ответ

5

Я думаю, что здесь ошибка как как вы сказали, вы не указали форму на своей странице, попробуйте:

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

И это правильный ответ, спасибо. – Andrew

Смежные вопросы