Conversational bean not found on any scope
viniciuscarvalho.viniciusccarvalho.gmail.com May 30, 2008 4:46 PMHello there I'm creating a search component using my own extended datamodel.
But after clicking on search button, I get an exception:
/search.xhtml @27,55 binding="#{searchBean.dataTable}": Target Unreachable, identifier 'searchBean' resolved to null"The debug pages shows my component searchBean on the conversational scope, why is this happening?
Regards
@Name("searchBean")
@Scope(ScopeType.CONVERSATION)
public class SearchResultsBean {
@Logger
private Log log;
@In(required=false)
private String queryString;
@In(required=false)
private Boolean isExactPhrase = false;
private Query query;
@In(required = false)
@Out(required = false)
private UIData dataTable;
private SearchHitDataModel dataModel;
private DocumentSearchStrategy searchStrategy = new DocumentSearchStrategy();
@Create
public void init(){
log.info("Iniciando objeto de busca");
this.dataTable = new UIData();
}
@Begin(join=true)
public void search(){
try {
query = QueryBuilder.buildQuery(queryString, isExactPhrase);
dataModel = new SearchHitDataModel(query);
dataTable.setFirst(0);
} catch (ParseException e) {
e.printStackTrace();
}
}.
<ui:define name="body">
<h:messages globalOnly="true" styleClass="message"/>
<h:form id="searchForm" styleClass="edit">
<h:inputText value="#{searchBean.queryString}"></h:inputText>
<h:commandButton id="searchBtn"
value="Search..."
action="#{searchBean.search}"/>
</h:form>
<rich:panel>
<f:facet name="header">Resultados</f:facet>
<div class="results">
<a4j:form>
<h:dataTable id="resultsTable" var="hit"
rows="10" binding="#{searchBean.dataTable}"
valeu="#{searchBean.dataModel}">
<rich:column>
<h:outputText value="#{hit.title}"/><br/>
<h:outputText value="#{hit.contents}"/>
</rich:column>
</h:dataTable>
<rich:datascroller for="resultsTable" align="left"/>
</a4j:form>
</div>
</rich:panel>
</ui:define>
</ui:composition>