Right, my fault, of course this method should return String. My latest try was with String, admittedly. But, somehow, both methods could be invoked without any problems, either the void or the String one. Currently I believe that PPR with Trinidad selectOneChoice leads to this problem. The workaround might be suitable to me, but maybe you are interested in some in-depth solution.
Thank you very much for the help and suggestions, anyway. Frank -----Ursprüngliche Nachricht----- Von: Jozef Dropco [mailto:[email protected]] Gesendet: Mittwoch, 19. Mai 2010 14:22 An: MyFaces Discussion Betreff: Re: AW: Problem with tr:selectOneChoice hmm, are you sure this is the doSomething? public void doSomething() { // TODO: delete selected Entry From Database and reload // list; here: init with some dummy content entries = new ArrayList<SelectItem>(); selectedEntry = null; } because in atribute action should be EL with method which returns String so public String doSomething() On 19.5.2010 14:17, Gronenborn, Frank wrote: > Okay, > > if I eliminate the PPR on the button and do navigation instead like > this: > > <tr:selectOneChoice id="choice1" labelvalue="#{Bean.selectedEntry}" > autoSubmit="true"> > <f:selectItems value="#{Bean.entries}" /> </tr:selectOneChoice> > > <tr:commandButton id="button1" immediate="true" icon="button.gif" > action="#{Bean.doSomething}" /> > > it works...but it is mystic to me, why the combobox reacts that mystic > on partialTriggers > > Frank > > > -----Ursprüngliche Nachricht----- > Von: Gronenborn, Frank [mailto:[email protected]] > Gesendet: Mittwoch, 19. Mai 2010 13:35 > An: MyFaces Discussion > Betreff: AW: Problem with tr:selectOneChoice > > Sure - no effect. > > class Bean is declared as session bean like this: > > <managed-bean> > <managed-bean-name>Bean</managed-bean-name> > <managed-bean-class>package.Bean</managed-bean-class> > <managed-bean-scope>session</managed-bean-scope> > </managed-bean> > > To ensure that I don't face any JSF-dialog-problems I just simplified > the entire code and eliminated the entire dialog and return listening > logic - no effect either. My application at the moment really operates > as simple as described below... > > Frank > > -----Ursprüngliche Nachricht----- > Von: Vinod Krishnan [mailto:[email protected]] > Gesendet: Mittwoch, 19. Mai 2010 13:26 > An: MyFaces Discussion > Betreff: Re: Problem w/ tr:selectOneChoice > > can u try > > selectedEntry = ""; // instead of null > > On Wed, May 19, 2010 at 4:45 PM, Gronenborn, > Frank<[email protected] > >> wrote: >> > >> The exception occurs inside the RENDER_RESPONSE phase, if this >> helps... >> >> Frank >> >> -----Ursprüngliche Nachricht----- >> Von: Gronenborn, Frank [mailto:[email protected]] >> Gesendet: Mittwoch, 19. Mai 2010 13:04 >> An: MyFaces Discussion >> Betreff: AW: Problem w/ tr:selectOneChoice >> >> Here it is (package declaration omitted): >> >> >> import java.util.ArrayList; >> import java.util.List; >> >> import javax.faces.model.SelectItem; >> >> public class Bean { >> private String selectedEntry; >> private List<SelectItem> entries; >> >> >> private void initEntries() { >> entries = new ArrayList<SelectItem>(); >> // TODO: load Entries From Database >> // here: init with some dummy content >> entries.add(new SelectItem("First", "First", "First", >> false)); >> } >> public List<SelectItem> getEntries() { >> return entries; >> } >> >> public String getSelectedEntry() { >> return selectedEntry; >> } >> >> public void setSelectedEntry(String pSelectedEntry) { >> selectedEntry = pSelectedEntry; >> } >> >> public void doSomething() { >> // TODO: delete selected Entry From Database and reload >> // list; here: init with some dummy content >> entries = new ArrayList<SelectItem>(); >> selectedEntry = null; >> } >> } >> >> >> >> -----Ursprüngliche Nachricht----- >> Von: Vinod Krishnan [mailto:[email protected]] >> Gesendet: Mittwoch, 19. Mai 2010 12:43 >> An: MyFaces Discussion >> Betreff: Re: Problem w/ tr:selectOneChoice >> >> Can u please paste the code that you do inside doSomething method >> >> On Wed, May 19, 2010 at 4:06 PM, Gronenborn, Frank< >> [email protected] >> >>> wrote: >>> >> >>> Indeed, there was none partialSubmit="true" attribute set in the >>> tr:commandButton. I corrected that, but without any significant >>> effect: >>> >> The >> >>> error still occurs. >>> >>> Frank >>> >>> >>> >>> -----Ursprüngliche Nachricht----- >>> Von: Vinod Krishnan [mailto:[email protected]] >>> Gesendet: Mittwoch, 19. Mai 2010 11:51 >>> An: MyFaces Discussion >>> Betreff: Re: Problem w/ tr:selectOneChoice >>> >>> if you have a partialTriggers="button1" then there is no >>> >> partailSubmit=true >> >>> for the commandbutton could you please check >>> >>> On Wed, May 19, 2010 at 3:18 PM, Gronenborn, Frank< >>> [email protected] >>> >>>> wrote: >>>> >>> >>>> Yeah, sure, that was a typo just because I tried to simplify the >>>> code. >>>> >> Of >> >>>> course the trigger is button1, thanks >>>> >>>> Frank >>>> >>>> >>>> -----Ursprüngliche Nachricht----- >>>> Von: Jozef Dropco [mailto:[email protected]] >>>> Gesendet: Mittwoch, 19. Mai 2010 11:38 >>>> An: MyFaces Discussion >>>> Betreff: Re: Problem w/ tr:selectOneChoice >>>> >>>> Hi I am not sure but >>>> >>>> partialTriggers should be "button1" instead of "button". >>>> >>>> >>>> Jozef >>>> >>>> On 19.5.2010 11:30, Gronenborn, Frank wrote: >>>> >>>>> Hi all, >>>>> >>>>> >>>>> >>>>> I'm using Trinidad 1.2.13 and face the following problem: >>>>> >>>>> >>>>> >>>>> I have a selectOneChoice like this: >>>>> >>>>> >>>>> >>>>> <tr:selectOneChoice id="choice1" >>>>> labelvalue="#{Bean.selectedEntry}" >>>>> >>>> autoSubmit="true" partialTriggers="button"> >>>> >>>>> <f:selectItems value="#{Bean.entries}" /> >>>>> >>>>> </tr:selectOneChoice> >>>>> >>>>> >>>>> >>>>> plus the corresponding button: >>>>> >>>>> >>>>> >>>>> <tr:commandButton id="button1" immediate="true" icon="button.gif" >>>>> >>>> action="#{Bean.doSomething}" useWindow="true" >>>> returnListener="#{Bean.returned}"/> >>>> >>>>> >>>>> >>>>> In the Bean-Method doSomething(), I show some simple >>>>> confirm-dialog >>>>> >> and >> >>>> delete the selectedEntry from the list (incl. reset the >>>> selectedEntry >>>> >> to >> >>>> null) on dialog-return. After this step get-Methods for both >>>> entries >>>> >> and >> >>>> selectedEntry are called, returning the updated list, null resp. So >>>> >> far, >> >>>> that's fine. >>>> >>>>> But actually inside the rendered page the selected item in the >>>>> >> comboBox >> >>>> doesn't change to null but the last one in the list instead, and if >>>> I >>>> >>> delete >>> >>>> the last element of the list I get the following error. >>>> >>>>> >>>>> >>>>> >>>>> >>>>> [19.05.10 11:23:33:071 CEST] 0000002a viewhandler E Error >>>>> >> Rendering >> >>>> View[/test.jspx] >>>> >>>>> >>>>> >> java.lang.IndexOutOfBoundsException: >> >>>> Index SelectOne submittedValue's index 1 is out of bounds. It >>>> should be between 0 and 0 >>>> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SimpleSelect >> OneRenderer.__getIndex(SimpleSelectOneRenderer.java:423) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SimpleSelect >> OneRenderer._getSelectedIndex(SimpleSelectOneRenderer.java:548) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.SimpleSelect >> OneRenderer.encodeAllAsElement(SimpleSelectOneRenderer.java:271) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.FormElementR >> enderer.encodeAll(FormElementRenderer.java:109) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidad.render.CoreRenderer.delegateRenderer(Core >> Renderer.java:446) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputLabelAn >> dMessageRenderer.renderFieldCellContents(InputLabelAndMessageRenderer.java:146) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.LabelAndMess >> ageRenderer._renderFieldCell(LabelAndMessageRenderer.java:470) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.LabelAndMess >> ageRenderer.encodeAll(LabelAndMessageRenderer.java:340) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.InputLabelAn >> dMessageRenderer.encodeAll(InputLabelAndMessageRenderer.java:124) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRendere >> r.java:335) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXC >> omponentBase.java:794) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRende >> rer.java:415) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLay >> outRenderer._encodeFormItem(PanelFormLayoutRenderer.java:911) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLay >> outRenderer.access$100(PanelFormLayoutRenderer.java:48) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLay >> outRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1419) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLay >> outRenderer$FormColumnEncoder.processComponent(PanelFormLayoutRenderer.java:1338) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedCh >> ildren(UIXComponent.java:170) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedCh >> ildren(UIXComponent.java:290) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChi >> ldren(UIXComponent.java:255) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLay >> outRenderer._encodeChildren(PanelFormLayoutRenderer.java:312) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelFormLay >> outRenderer.encodeAll(PanelFormLayoutRenderer.java:137) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRendere >> r.java:335) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXC >> omponentBase.java:794) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChil >> d(RendererUtils.java:534) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChil >> dren(RendererUtils.java:511) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChil >> d(RendererUtils.java:532) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChil >> dren(RendererUtils.java:511) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeChildren(Html >> TagRenderer.java:111) >> >>>>> at >>>>> >>>> >>> >> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase. >> java:611) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChil >> d(RendererUtils.java:528) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.shared_tomahawk.renderkit.RendererUtils.renderChil >> dren(RendererUtils.java:511) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.custom.htmlTag.HtmlTagRenderer.encodeChildren(Html >> TagRenderer.java:111) >> >>>>> at >>>>> >>>> >>> >> javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase. >> java:611) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRende >> rer.java:402) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(Cor >> eRenderer.java:432) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartial >> RootRenderer.renderContent(PanelPartialRootRenderer.java:69) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer >> .renderContent(BodyRenderer.java:142) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartial >> RootRenderer.encodeAll(PanelPartialRootRenderer.java:115) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer >> .encodeAll(BodyRenderer.java:78) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidad.render.CoreRenderer.delegateRenderer(Core >> Renderer.java:446) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.DocumentRend >> erer.encodeAll(DocumentRenderer.java:80) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRendere >> r.java:335) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXC >> omponentBase.java:794) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidad.component.UIXComponentBase.__encodeRecurs >> ive(UIXComponentBase.java:1544) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidad.component.UIXComponentBase.encodeAll(UIXC >> omponentBase.java:814) >> >>>>> at >>>>> >>>> javax.faces.component.UIComponent.encodeAll(UIComponent.java:257) >>>> >>>>> at >>>>> >>>> >>> >> com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.jav >> a:592) >> >>>>> at >>>>> >>>> >>> >> javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrap >> per.java:48) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.rende >> rView(ViewHandlerImpl.java:193) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderRes >> ponseExecutor.java:41) >> >>>>> at >>>>> >>>> >> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java: >> 140) >> >>>>> at >>>>> >>> javax.faces.webapp.FacesServlet.service(FacesServlet.java:182) >>> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper >> .java:1146) >> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper >> .java:1087) >> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilte >> rChain.java:145) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilt >> erImpl(TrinidadFilterImpl.java:247) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilte >> r(TrinidadFilterImpl.java:157) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFi >> lter.java:92) >> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterI >> nstanceWrapper.java:190) >> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilte >> rChain.java:130) >> >>>>> at >>>>> >>>> >>> >> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(Extensions >> Filter.java:341) >> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterI >> nstanceWrapper.java:190) >> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilte >> rChain.java:130) >> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilt >> erChain.java:87) >> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFil >> terManager.java:840) >> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFil >> terManager.java:683) >> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletW >> rapper.java:589) >> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(Servle >> tWrapper.java:489) >> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(Cac >> heServletWrapper.java:90) >> >>>>> at >>>>> >>>> >> com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java: >> 748) >> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.jav >> a:1466) >> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.jav >> a:122) >> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimina >> tion(HttpInboundLink.java:458) >> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInforma >> tion(HttpInboundLink.java:387) >> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(Htt >> pICLReadCallback.java:102) >> >>>>> at >>>>> >>>> >>> >> com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted >> (AioReadCompletionListener.java:165) >> >>>>> at >>>>> >>>> >>> >> com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFutu >> re.java:217) >> >>>>> at >>>>> >>>> >>> >> com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChanne >> lFuture.java:161) >> >>>>> at >>>>> >> com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) >> >>>>> at >>>>> >>> com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196) >>> >>>>> at >>>>> >>>> >>> >> com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.j >> ava:751) >> >>>>> at >>>>> >> com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881) >> >>>>> at >>>>> com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497) >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> I found some comments around the web that suggest similar messages >>>>> as >>>>> >>>> Trinidad bugs. Does this look like a Trinidad issue or is it more >>>> >> likely >> >>> a >>> >>>> problem of my own? >>>> >>>>> Any ideas are very appreciated, >>>>> >>>>> Thanks in advance, >>>>> >>>>> Frank >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> Frank Gronenborn >>>>> >>>>> Softwareentwicklung >>>>> >>>>> Dokumentenmanagement / Workflow, AKB 8125 >>>>> >>>>> >>>>> >>>>> ARAG IT GmbH >>>>> >>>>> ARAG Platz 1, 40472 Düsseldorf >>>>> >>>>> >>>>> >>>>> Tel.: +49 (0)211 964-1673 >>>>> >>>>> Fax: +49 (0)211 964-1340 >>>>> >>>>> [email protected]<mailto:[email protected]> >>>>> >>>>> www.ARAG.de<http://www.arag.de/> >>>>> >>>>> >>>>> >>>>> Geschäftsführer: Ottmar Liebler, Hanno Petersen >>>>> >>>>> Sitz und Registergericht: Düsseldorf, HRB 10934 >>>>> >>>>> USt-ID-Nr.: DE 119 356 473 >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>> >> >

