Boas ! Pessal!
Estou tentando montar um exemplo do richfaces do componente suggestionbox
teste.jsp<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:rich="http://richfaces.org/rich">
<h:inputText id="id" value="#{oper.operador.id}"/><br></br>
<h:inputText id="teste" value="#{oper.operador.nome}"/>
<richfaces:suggestionbox
width="150"
height="150"
minChars="3"
suggestionAction="#{oper.autocomplete}"
var="op"
id="testasuggestion"
for="teste">
<h:column>
<h:outputText value="#{op.nome}"></h:outputText>
</h:column>
</richfaces:suggestionbox>
</ui:composition>
...
public List<Operador> autocomplete(Object suggest) throws DaoException {
String pref = (String)suggest;
ArrayList<Operador> result = new ArrayList<Operador>();
Iterator<Operador> iterator = ((ArrayList<Operador>)todosOperadores()).iterator();
while (iterator.hasNext()) {
Operador elem = ((Operador) iterator.next());
if ((elem.getNome() != null && elem.getNome().toLowerCase().indexOf(pref.toLowerCase()) == 0) || "".equals(pref)){
result.add(elem);
}
}
return result;
}
...
O problema acontece quando coloco a terceira letra. Seria para ele abrir a box com as sugestoes mas ele dá o erro :
javax.servlet.ServletException: viewId:/teste.jsf - View /teste.jsf could not be restored.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:270)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
Dei uma procurada e achei no jira dizendo que os componentes do richfaces podem duplicar id´s e causar esse erro
[url]http://lists.jboss.org/pipermail/richfaces-issues/2009-January/031408.html[/url]
Alguem sabe como eu posso corrigir isso ? minha experiencia em java é bem reduzida ainda ...
Agradeço
João Rueda
Inpacktu.com.br