У меня есть следующие коды Facelet:
<h:inputText id="searchtext" value="#{SearchBean.input}" />
<h:commandButton value="#{msg.BUTTON_SEARCH_LABEL}" title="#{msg.BUTTON_SEARCH_LABEL}"
action="#{SearchBean.Submit}" />
SearchBean имеет следующее:
@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 "";
}
}
Метод SearchBean вызывается в BookService bean следующим образом:
@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();
}
}
Когда я отправляю форму, возвращаемый статус методом getSubmitted () метода SearchBean всегда возвращает false .Я ожидаю, что это вернет true при отправке формы.Я не знаю, что делать.
Является ли FlashScoped единственным используемым вариантом с отправкой формы в JSF 2?Любой специалист по уходу комментирует.