JSF autocompletion componente failure
I posted this topic in the JSF forum one week ago but nobody responded, so maybe it's better to post it here again.
I noticed that the JSF autocomplete text field from the blueprints solution catalog only works if the browser has set the en-gb locale, are there any workarounds for this?
http://weblogs.java.net/blog/edburns/archive/2006/04/new_release_of.html
[380 byte] By [
K@sperla] at [2007-11-26 18:09:43]

# 2
Hello Mark,
although I performed the changes mentioned in the issue tracker I still can't get the component working. If I use the field with Firefox (2.0.0.1), I get the following exception:
java.lang.IllegalArgumentException: Di, 13 Feb 2007 09:08:00 GMT
at org.apache.catalina.connector.Request.getDateHeader(Request.java:1791)
at org.apache.catalina.connector.RequestFacade.getDateHeader(RequestFacade.java:630)
at javax.servlet.http.HttpServletRequestWrapper.getDateHeader(HttpServletRequestWrapper.java:71)
at org.apache.shale.remoting.impl.AbstractResourceProcessor.ifModifiedSince(AbstractResourceProcessor.java:347)
at org.apache.shale.remoting.impl.AbstractResourceProcessor.process(AbstractResourceProcessor.java:101)
at org.apache.shale.remoting.faces.RemotingPhaseListener.afterPhase(RemotingPhaseListener.java:102)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:211)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
at widok.web.WidokFacesServlet.service(WidokFacesServlet.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
The time is definitely wrong, it should be 10:12 or so.
If I try IE 7, the completionMethod never gets called.
I create the autocomplete component in the backing bean.
JSP page:
<ui:autoComplete binding="#{handler.component}"/>
Backing bean:
public AutoCompleteComponent getComponent() {
AutoCompleteComponent comp = new AutoCompleteComponent();
ValueBinding binding = ...
comp.setValueBinding("value", binding);
MethodBinding mb = ...
comp.setCompletionMethod(mb);
return comp;
}
The completion method looks like:
public void selectPersons(FacesContext ctx, String searchString, CompletionResult result) {
Set<Person> persons = getPersons(searchString);
for (Person p: persons) {
result.addItem(p.toString());
}
}