users@woodstock.java.net

submit (), refresh () and filter

From: Wei Chiang <chiang.wei_at_riihonlahti.com>
Date: Fri, 28 Mar 2008 10:23:26 +0200

Hi,

Does AJAX partial update work together with the filters? From the log
below, it seems they don't. But it could also be the mistakes I made in
the jsp page.

Thank you in advance if someone can point out the mistakes or provide a
solution.

Kind regards,
Wei
=================================================================================0

Below is the snippet of the jsp page.
<w:hyperlink url="#" id="popupMenuLink"
                text="#{mcMsgs.popupMenu}"
                onClick="displayPopupMenu(event);return false;"
                onKeyDown="displayPopupMenu(event);"/>
   <w:textField id="hiddenSelected" disabled="true" visible="false"
                 text="#{popupMenu.selected}"/>
   <w:menu id="popupMenu" styleClass="popup"
           items="#{popupMenu.optionItems}"
           eventListenerExpression="#{popupMenu.selectOptionListener}"
           onChange="setTimeout('changeEvent();', 0);"/>

The displayPopupMenu () works fine.

 The changeEvent() script is
 function changeEvent ()
      {
         var domNode = document.getElementById(hiddenSelected);
         domNode.refresh (popupMenuId);
      }
where hiddenSelected and popupMenuId are defined as the identifiers of
the corresponding components.

The menu's event listener never gets called, therefore the hidden text
never gets updated.

Part of the error dump in the log is
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.IllegalStateException: Class returned from
AsyncResponse.getPartialTraversalViewRoot must be a UIComponent
        at
com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.render(PartialTraversalLifecycle.java:132)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
com.rihotec.apogee.common.webapps.jsf.AppSessionTimeoutFilter.doFilter(AppSessionTimeoutFilter.java:63)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
        at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
        at
org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
        at
org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
        at
org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:188)