JSF 2 senden eines Formulars

Habe ich diese Passenden codes:

<h:inputText id="searchtext" value="#{SearchBean.input}" />
<h:commandButton value="#{msg.BUTTON_SEARCH_LABEL}" title="#{msg.BUTTON_SEARCH_LABEL}"
  action="#{SearchBean.Submit}" />

SearchBean hat folgenden Wortlaut:

@ManagedBean(name = "SearchBean")
@RequestScoped
public class SearchBean implements Serializable
{
    private String input = null;
    private Boolean submitted = false; 

    public String getInput() {
       return input;
    }

    public boolean getSubmitted() {
       return submitted;
    }      

    public void setInput(String input) {
       this.input = input;
    }

    public void setSubmitted(Boolean submitted) {
       this.submitted = submitted;
    }

    public String Submit() {
       System.out.println(">>> SUBMITTED <<<"); 
       submitted = true;
       return "";
   }    
}

Den SearchBean die Methode wird aufgerufen, in BookService bean wie folgt:

@Stateless
public class BookService()
{
    @Inject
    private SearchBean searchBean;

    @PostConstruct
    public void init()
    {
       Boolean isSearch = isSubmitted();
       if (isSearch) {
          //some codes
       } else {
          //other codes
       }
    }

    public Boolean isSubmitted() {
       System.out.println("STATUS: " + searchBean.getSubmitted()); 
       return searchBean.getSubmitted();
    }       
}

Wenn ich das Formular Absenden, wird der status durch Rückkehr SearchBean ist getSubmitted() Methode immer wieder false. Ich würde erwarten, dass dies wieder wahr wenn das Formular abgeschickt wird. Ich weiß nicht, was zu tun ist.

Ist FlashScoped das einzig brauchbare option, mit der form der Einreichung in JSF 2? Jeder Experte Pflege, Stellung zu nehmen.

InformationsquelleAutor ChuongPham | 2011-04-04
Schreibe einen Kommentar