jsf 2 - h:commandLink in p:autocomplete not passing querystring parameters correctly -
i'm trying perform action through command link in autocomplete component (primefaces)
i have same structure in others parts of code, , works, don't understand why in case doesn't.
here code:
<h:panelgroup layout="block" rendered="#{secondarymodel['mainbean'] == null}" styleclass="selector-title"> <label>#{msgs['attendee.view.contact.search']}</label> <p:autocomplete id="autocomplete-contact" value="#{secondarymodel['searchbean']}" completemethod="#{autocompleteaction.completecontacts}" var="contact" itemvalue="#{contact}" itemlabel="#{contact.fullname}" converter="#{secondarymodel['autocompletebeanconverter']}" minquerylength="3" maxresults="20" styleclass="autocomplete" widgetvar="autocompletecontactwidget" onfocus="triggerautocomplete(autocompletecontactwidget, this.value)" onblur="blurautocomplete(autocompletecontactwidget)"> <f:attribute name="excluderelatedcontacts" value="#{false}" /> <p:column> #{contact.fullname} <h:commandlink action="loadcontact" styleclass="hide" > <f:param name="param" value="#{paramencryptionhelper.encryptparameters('contacttoassignid', contact.contactid)}" /> <f:ajax execute="@form" /> </h:commandlink> </p:column> </p:autocomplete> </h:panelgroup>
this webflow:
<transition on="loadcontact"> <evaluate expression="contactaction.loadcontact(secondarymodel, requestparameters.contacttoassignid, messagecontext)" /> <render fragments="modal-panels, history, notification" /> </transition>
then pass contact component, null!
i debugged chrome see if param i'm trying pass webflow triggered, , is. seems action not performed, in fact if try debug java code doesn't go method.
the logs:
severe: servlet.service() servlet [spring mvc dispatcher servlet] in context path [/uncdb] threw exception [request processing failed; nested exception org.springframework.webflow.execution.flowexecutionexception: exception thrown in state 'contacts' of flow 'int/contact'] root cause javax.el.propertynotfoundexception: /web-inf/pages/int/contact/contact.xhtml @31,72 value="#{contact.lastname}": target unreachable, identifier 'contact' resolved null @ com.sun.faces.facelets.el.tagvalueexpression.gettype(tagvalueexpression.java:100) @ com.sun.faces.renderkit.html_basic.htmlbasicinputrenderer.getconvertedvalue(htmlbasicinputrenderer.java:95) @ javax.faces.component.uiinput.getconvertedvalue(uiinput.java:1034) @ javax.faces.component.uiinput.validate(uiinput.java:964) @ javax.faces.component.uiinput.executevalidate(uiinput.java:1237) @ javax.faces.component.uiinput.processvalidators(uiinput.java:702) @ javax.faces.component.uicomponentbase.processvalidators(uicomponentbase.java:1216) @ javax.faces.component.uicomponentbase.processvalidators(uicomponentbase.java:1216) @ javax.faces.component.uicomponentbase.processvalidators(uicomponentbase.java:1216) @ javax.faces.component.uiform.processvalidators(uiform.java:253) @ com.sun.faces.context.partialviewcontextimpl$phaseawarevisitcallback.visit(partialviewcontextimpl.java:506) @ com.sun.faces.component.visit.partialvisitcontext.invokevisitcallback(partialvisitcontext.java:183) @ javax.faces.component.uicomponent.visittree(uicomponent.java:1652) @ javax.faces.component.uiform.visittree(uiform.java:362) @ javax.faces.component.uicomponent.visittree(uicomponent.java:1663) @ javax.faces.component.uicomponent.visittree(uicomponent.java:1663) @ com.sun.faces.context.partialviewcontextimpl.processcomponents(partialviewcontextimpl.java:378) @ com.sun.faces.context.partialviewcontextimpl.processpartial(partialviewcontextimpl.java:253) @ org.primefaces.context.primepartialviewcontext.processpartial(primepartialviewcontext.java:57) @ javax.faces.context.partialviewcontextwrapper.processpartial(partialviewcontextwrapper.java:183) @ javax.faces.component.uiviewroot.processvalidators(uiviewroot.java:1162) @ org.springframework.faces.webflow.flowlifecycle.invokephase(flowlifecycle.java:121) @ org.springframework.faces.webflow.flowlifecycle.execute(flowlifecycle.java:70) @ org.springframework.faces.webflow.jsfview.processuserevent(jsfview.java:120) @ org.springframework.webflow.engine.viewstate.handleevent(viewstate.java:226) @ org.springframework.webflow.engine.viewstate.resume(viewstate.java:196) @ org.springframework.webflow.engine.flow.resume(flow.java:545) @ org.springframework.webflow.engine.impl.flowexecutionimpl.resume(flowexecutionimpl.java:258) @ org.springframework.webflow.executor.flowexecutorimpl.resumeexecution(flowexecutorimpl.java:169) @ org.springframework.webflow.mvc.servlet.flowhandleradapter.handle(flowhandleradapter.java:183) @ org.springframework.faces.webflow.jsfflowhandleradapter.handle(jsfflowhandleradapter.java:48) @ org.springframework.web.servlet.dispatcherservlet.dodispatch(dispatcherservlet.java:923) @ org.springframework.web.servlet.dispatcherservlet.doservice(dispatcherservlet.java:852) @ org.springframework.web.servlet.frameworkservlet.processrequest(frameworkservlet.java:882) @ org.springframework.web.servlet.frameworkservlet.dopost(frameworkservlet.java:789) @ javax.servlet.http.httpservlet.service(httpservlet.java:646) @ javax.servlet.http.httpservlet.service(httpservlet.java:727) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:303) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:208) @ com.jemmic.authperform.common.front.filter.paramencryptionfilter.dofilter(paramencryptionfilter.java:272) @ org.springframework.web.filter.delegatingfilterproxy.invokedelegate(delegatingfilterproxy.java:346) @ org.springframework.web.filter.delegatingfilterproxy.dofilter(delegatingfilterproxy.java:259) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:241) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:208) @ org.primefaces.webapp.filter.fileuploadfilter.dofilter(fileuploadfilter.java:98) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:241) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:208) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:311) @ org.springframework.security.web.access.intercept.filtersecurityinterceptor.invoke(filtersecurityinterceptor.java:116) @ org.springframework.security.web.access.intercept.filtersecurityinterceptor.dofilter(filtersecurityinterceptor.java:83) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:323) @ org.springframework.security.web.access.exceptiontranslationfilter.dofilter(exceptiontranslationfilter.java:113) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:323) @ org.springframework.security.web.session.sessionmanagementfilter.dofilter(sessionmanagementfilter.java:101) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:323) @ org.springframework.security.web.authentication.anonymousauthenticationfilter.dofilter(anonymousauthenticationfilter.java:113) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:323) @ org.springframework.security.web.servletapi.securitycontextholderawarerequestfilter.dofilter(securitycontextholderawarerequestfilter.java:54) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:323) @ org.springframework.security.web.savedrequest.requestcacheawarefilter.dofilter(requestcacheawarefilter.java:45) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:323) @ org.springframework.security.web.authentication.abstractauthenticationprocessingfilter.dofilter(abstractauthenticationprocessingfilter.java:182) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:323) @ org.springframework.security.web.authentication.logout.logoutfilter.dofilter(logoutfilter.java:105) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:323) @ org.springframework.security.web.context.securitycontextpersistencefilter.dofilter(securitycontextpersistencefilter.java:87) @ org.springframework.security.web.filterchainproxy$virtualfilterchain.dofilter(filterchainproxy.java:323) @ org.springframework.security.web.filterchainproxy.dofilter(filterchainproxy.java:173) @ org.springframework.web.filter.delegatingfilterproxy.invokedelegate(delegatingfilterproxy.java:346) @ org.springframework.web.filter.delegatingfilterproxy.dofilter(delegatingfilterproxy.java:259) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:241) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:208) @ com.jemmic.authperform.common.front.filter.ajaxsessiontimeoutfilter.dofilter(ajaxsessiontimeoutfilter.java:78) @ org.springframework.web.filter.delegatingfilterproxy.invokedelegate(delegatingfilterproxy.java:346) @ org.springframework.web.filter.delegatingfilterproxy.dofilter(delegatingfilterproxy.java:259) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:241) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:208) @ org.springframework.web.filter.characterencodingfilter.dofilterinternal(characterencodingfilter.java:88) @ org.springframework.web.filter.onceperrequestfilter.dofilter(onceperrequestfilter.java:76) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:241) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:208) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:220) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:122) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:504) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:170) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:103) @ org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:950) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:116) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:421) @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1074) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:611) @ org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:314) @ java.util.concurrent.threadpoolexecutor$worker.runtask(threadpoolexecutor.java:895) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:918) @ org.apache.tomcat.util.threads.taskthread$wrappingrunnable.run(taskthread.java:61) @ java.lang.thread.run(thread.java:662)
the problem here:
<f:ajax execute="@form" />
i changed <f:ajax />
. because execute="@form"
attribute causes parameters not included in query string.
Comments
Post a Comment