You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Leonhard Holzer <le...@abuscom.com> on 2007/07/31 14:21:34 UTC

[Tobago] retrotranslator NoSuchMethodError

Hello list,

i try to use Tobago on tomcat 5.5 running on jdk1.4.2. I have a 
ActionBean which returns a array or an ArrayList of Strings and i try to 
display them in a tc:sheet.

the actionBean interface
  public String[] getTableArray();
  public ArrayList getTableList();

the following jsp code:

<tc:box label="#{admin.searchTables_result}">
  <tc:sheet value="#{tableSearchCriteria.tableList}" columns="*" var="row">
     <tc:column label="#{global.tableName}">
          <tc:out value="#{row}" />
     </tc:column>
                           
  </tc:sheet>
</tc:box>


gives the following error:
605078 [http-8080-Processor23] ERROR 
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/MdbWebClient].[Faces 
Servlet]  - Servlet.service() for servlet Faces Servlet threw exception
java.lang.NoSuchMethodError: 
net.sf.retrotranslator.runtime.java.lang._Iterable.iterator(Lnet/sf/retrotranslator/runtime/java/lang/Iterable_;)Ljava/util/Iterator;
    at 
org.apache.myfaces.tobago.renderkit.html.StyleClasses.addClasses(StyleClasses.java:165)
    at 
org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.SheetRenderer.renderSheet(SheetRenderer.java:366)
    at 
org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.SheetRenderer.encodeEnd(SheetRenderer.java:139)
    at 
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:539)
    at javax.faces.component.UIData.encodeEnd(UIData.java:573)
    at org.apache.myfaces.tobago.component.UIData.encodeEnd(UIData.java:115)
    at 
org.apache.myfaces.tobago.renderkit.RenderUtil.encode(RenderUtil.java:84)
    at 
org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.DefaultLayoutRenderer.encodeChildrenOfComponent(DefaultLayoutRenderer.java:47)
    at 
org.apache.myfaces.tobago.component.UILayout.encodeChildrenOfComponent(UILayout.java:71)
    at 
org.apache.myfaces.tobago.component.UIPanelBase.encodeChildren(UIPanelBase.java:43)
    at 
org.apache.myfaces.tobago.renderkit.RenderUtil.encode(RenderUtil.java:77)
    at 
org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.GridLayoutRenderer.encodeChildrenOfComponent(GridLayoutRenderer.java:364)
    at 
org.apache.myfaces.tobago.component.UILayout.encodeChildrenOfComponent(UILayout.java:71)
    at 
org.apache.myfaces.tobago.component.UIGridLayout.encodeChildrenOfComponent(UIGridLayout.java:277)
    at 
org.apache.myfaces.tobago.component.UIPanelBase.encodeChildren(UIPanelBase.java:43)
    at 
org.apache.myfaces.tobago.renderkit.RenderUtil.encode(RenderUtil.java:77)
    at 
org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.GridLayoutRenderer.encodeChildrenOfComponent(GridLayoutRenderer.java:364)
    at 
org.apache.myfaces.tobago.component.UILayout.encodeChildrenOfComponent(UILayout.java:71)
    at 
org.apache.myfaces.tobago.component.UIGridLayout.encodeChildrenOfComponent(UIGridLayout.java:277)
    at 
org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.PageRenderer.encodeEnd(PageRenderer.java:127)
    at 
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:539)
    at javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:498)
    at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:366)
    at 
org.apache.myfaces.tobago.taglib.component.TobagoTag.doEndTag(TobagoTag.java:181)
    at 
org.apache.myfaces.tobago.taglib.component.TobagoBodyTag.doEndTag(TobagoBodyTag.java:56)
    at 
org.apache.myfaces.tobago.taglib.component.PageTag.doEndTag(PageTag.java:60)
    at 
org.apache.jsp.searchTables_jsp._jspx_meth_tc_005fpage_005f0(searchTables_jsp.java:259)
    at 
org.apache.jsp.searchTables_jsp._jspx_meth_f_005fview_005f0(searchTables_jsp.java:155)
    at 
org.apache.jsp.searchTables_jsp._jspService(searchTables_jsp.java:121)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
    at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
    at 
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
    at 
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
    at 
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
    at 
org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:419)
    at 
org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211)
    at 
org.apache.myfaces.tobago.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:98)
    at 
org.apache.myfaces.tobago.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:56)
    at 
org.apache.myfaces.tobago.lifecycle.TobagoLifecycle.render(TobagoLifecycle.java:141)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at 
org.apache.myfaces.tobago.webapp.TobagoMultipartFormdataFilter.doFilter(TobagoMultipartFormdataFilter.java:130)
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
    at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
    at 
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at 
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at 
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
    at java.lang.Thread.run(Thread.java:534)


does anyone have any suggestion

thanks 
  leo


Re: [Tobago] retrotranslator NoSuchMethodError

Posted by Leonhard Holzer <le...@abuscom.com>.
I have found the error. The backported libraries included in tobago 
version 1.0.11 use an older version of retrotranslator. If you backport 
the tobago jar files manually with the retrotranslator-transformer tool 
you solve the problem.

regards
  leo
> Hello list,
>
> i try to use Tobago on tomcat 5.5 running on jdk1.4.2. I have a 
> ActionBean which returns a array or an ArrayList of Strings and i try 
> to display them in a tc:sheet.
>
> the actionBean interface
>  public String[] getTableArray();
>  public ArrayList getTableList();
>
> the following jsp code:
>
> <tc:box label="#{admin.searchTables_result}">
>  <tc:sheet value="#{tableSearchCriteria.tableList}" columns="*" 
> var="row">
>     <tc:column label="#{global.tableName}">
>          <tc:out value="#{row}" />
>     </tc:column>
>                            </tc:sheet>
> </tc:box>
>
>
> gives the following error:
> 605078 [http-8080-Processor23] ERROR 
> org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/MdbWebClient].[Faces 
> Servlet]  - Servlet.service() for servlet Faces Servlet threw exception
> java.lang.NoSuchMethodError: 
> net.sf.retrotranslator.runtime.java.lang._Iterable.iterator(Lnet/sf/retrotranslator/runtime/java/lang/Iterable_;)Ljava/util/Iterator; 
>
>    at 
> org.apache.myfaces.tobago.renderkit.html.StyleClasses.addClasses(StyleClasses.java:165) 
>
>    at 
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.SheetRenderer.renderSheet(SheetRenderer.java:366) 
>
>    at 
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.SheetRenderer.encodeEnd(SheetRenderer.java:139) 
>
>    at 
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:539)
>    at javax.faces.component.UIData.encodeEnd(UIData.java:573)
>    at 
> org.apache.myfaces.tobago.component.UIData.encodeEnd(UIData.java:115)
>    at 
> org.apache.myfaces.tobago.renderkit.RenderUtil.encode(RenderUtil.java:84)
>    at 
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.DefaultLayoutRenderer.encodeChildrenOfComponent(DefaultLayoutRenderer.java:47) 
>
>    at 
> org.apache.myfaces.tobago.component.UILayout.encodeChildrenOfComponent(UILayout.java:71) 
>
>    at 
> org.apache.myfaces.tobago.component.UIPanelBase.encodeChildren(UIPanelBase.java:43) 
>
>    at 
> org.apache.myfaces.tobago.renderkit.RenderUtil.encode(RenderUtil.java:77)
>    at 
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.GridLayoutRenderer.encodeChildrenOfComponent(GridLayoutRenderer.java:364) 
>
>    at 
> org.apache.myfaces.tobago.component.UILayout.encodeChildrenOfComponent(UILayout.java:71) 
>
>    at 
> org.apache.myfaces.tobago.component.UIGridLayout.encodeChildrenOfComponent(UIGridLayout.java:277) 
>
>    at 
> org.apache.myfaces.tobago.component.UIPanelBase.encodeChildren(UIPanelBase.java:43) 
>
>    at 
> org.apache.myfaces.tobago.renderkit.RenderUtil.encode(RenderUtil.java:77)
>    at 
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.GridLayoutRenderer.encodeChildrenOfComponent(GridLayoutRenderer.java:364) 
>
>    at 
> org.apache.myfaces.tobago.component.UILayout.encodeChildrenOfComponent(UILayout.java:71) 
>
>    at 
> org.apache.myfaces.tobago.component.UIGridLayout.encodeChildrenOfComponent(UIGridLayout.java:277) 
>
>    at 
> org.apache.myfaces.tobago.renderkit.html.scarborough.standard.tag.PageRenderer.encodeEnd(PageRenderer.java:127) 
>
>    at 
> javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:539)
>    at 
> javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:498)
>    at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:366)
>    at 
> org.apache.myfaces.tobago.taglib.component.TobagoTag.doEndTag(TobagoTag.java:181) 
>
>    at 
> org.apache.myfaces.tobago.taglib.component.TobagoBodyTag.doEndTag(TobagoBodyTag.java:56) 
>
>    at 
> org.apache.myfaces.tobago.taglib.component.PageTag.doEndTag(PageTag.java:60) 
>
>    at 
> org.apache.jsp.searchTables_jsp._jspx_meth_tc_005fpage_005f0(searchTables_jsp.java:259) 
>
>    at 
> org.apache.jsp.searchTables_jsp._jspx_meth_f_005fview_005f0(searchTables_jsp.java:155) 
>
>    at 
> org.apache.jsp.searchTables_jsp._jspService(searchTables_jsp.java:121)
>    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>    at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328) 
>
>    at 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:315)
>    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>    at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) 
>
>    at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
>
>    at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691) 
>
>    at 
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469) 
>
>    at 
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403) 
>
>    at 
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) 
>
>    at 
> org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:419) 
>
>    at 
> org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:211) 
>
>    at 
> org.apache.myfaces.tobago.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:98) 
>
>    at 
> org.apache.myfaces.tobago.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:56) 
>
>    at 
> org.apache.myfaces.tobago.lifecycle.TobagoLifecycle.render(TobagoLifecycle.java:141) 
>
>    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
>    at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) 
>
>    at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
>
>    at 
> org.apache.myfaces.tobago.webapp.TobagoMultipartFormdataFilter.doFilter(TobagoMultipartFormdataFilter.java:130) 
>
>    at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 
>
>    at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 
>
>    at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) 
>
>    at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) 
>
>    at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
>
>    at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) 
>
>    at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) 
>
>    at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) 
>
>    at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870) 
>
>    at 
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) 
>
>    at 
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) 
>
>    at 
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) 
>
>    at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685) 
>
>    at java.lang.Thread.run(Thread.java:534)
>
>
> does anyone have any suggestion
>
> thanks  leo
>
>
>
>

Re: [Tobago] parameter for detail links

Posted by Leonhard Holzer <le...@abuscom.com>.
I realized the solution with the actionListener.


This are short snapshots of the solution:

I need the parameter as input parameter for a spring subflow with the 
following definition:
<subflow-state flow="describeTable-flow" id="describeTable">
        <attribute-mapper>
            <input-mapper>
                <mapping 
source="flowScope.tableSearchCriteria.selectedTable" 
target="tableNameId" from="string" to="string"/>
            </input-mapper>
        </attribute-mapper>
        <transition on="finish" to="displayTableList" />
 </subflow-state>

The action Listener saves the parameter in the selectedTable Property:
    public void selectTable(ActionEvent event) {
        Object param = 
((UIParameter)event.getComponent().getChildren().get(0)).getValue();
        selectedTable = (String) param;
    }


And the jsp page has the following structure:
                                <tc:column label="#{global.actions}">
                                    <tc:form id="describeTableForm">
                                    <tc:button 
label="#{global.cmdDescribe}" action="describe" 
actionListener="#{tableSearchCriteria.selectTable}">
                                        <f:param name="tableNameId" 
value="#{row}"/>
                                    </tc:button>
                                    </tc:form>
                                </tc:column>

Thanks for your help

regards
  Leo


Volker Weber schrieb:
> Hi Leonhard,
>
> you need the value of the parameter in your action?
>
> Implement your actionListener like this:
>
> public void test(ActionEvent event) {
>     String value =
> (String)ComponentUtil.findParameter(event.getComponent(),
> "tableNameId");
>
>   ...
>
> }
>
>
> Regards,
>     Volker
>
>
>
>
> 2007/8/1, Leonhard Holzer <le...@abuscom.com>:
>   
>> Hello list,
>>
>> I use spring webflow together with tobago 1.0.11 on java 1.4.
>> I have a sheet:
>>
>>                             <tc:sheet
>> value="#{tableSearchCriteria.tableList}"
>>                                 columns="100px;70px;70px;70px;*" var="row">
>>                                 <tc:column label="#{global.tableName}">
>>                                     <tc:out value="#{row}" />
>>                                 </tc:column>
>> ...
>>                                 <tc:column label="#{global.actions}">
>>                                     <tc:form id="describeTableForm">
>>                                     <tc:button
>> label="#{global.cmdDescribe}" action="describe"
>> actionListener="#{tableSearchCriteria.test}">
>>                                         <tc:attribute name="testTable"
>> value="test123"/>
>>                                         <f:param name="tableNameId"
>> value="Test23"/>
>>                                     </tc:button>
>>                                     </tc:form>
>>                                 </tc:column>
>> ...
>>                             </tc:sheet>
>>
>>
>> but the parameter tableNameId is not transfered to the server.If I read
>> all request parameters in the actionListener:
>>
>>         FacesContext context = FacesContext.getCurrentInstance();
>>         Map map = context.getExternalContext().getRequestMap();
>>         Iterator iter = map.keySet().iterator();
>>         while (iter.hasNext()) {
>>             String key = (String) iter.next();
>>             System.out.println("key: "+key+" -> "+map.get(key));
>>         }
>>
>>
>> The parameter tableNameId is not part of the parameters. does anyone
>> have any suggestions?
>>
>> regards
>>   Leo
>>
>>
>>     
>
>
>
>   


-- 
----------------------------------
 Leonhard Holzer
 ABusCom GmbH
 Kapuzinerplatz 9
 I 39031 Bruneck
 Tel.:  +39 0474 538 000
 Fax.:  +39 0474 538 000
 mobil: +39 335 83 28 041
 web:   www.abuscom.com
----------------------------------


Re: [Tobago] parameter for detail links

Posted by Volker Weber <v....@inexso.de>.
Hi Leonhard,

you need the value of the parameter in your action?

Implement your actionListener like this:

public void test(ActionEvent event) {
    String value =
(String)ComponentUtil.findParameter(event.getComponent(),
"tableNameId");

  ...

}


Regards,
    Volker




2007/8/1, Leonhard Holzer <le...@abuscom.com>:
> Hello list,
>
> I use spring webflow together with tobago 1.0.11 on java 1.4.
> I have a sheet:
>
>                             <tc:sheet
> value="#{tableSearchCriteria.tableList}"
>                                 columns="100px;70px;70px;70px;*" var="row">
>                                 <tc:column label="#{global.tableName}">
>                                     <tc:out value="#{row}" />
>                                 </tc:column>
> ...
>                                 <tc:column label="#{global.actions}">
>                                     <tc:form id="describeTableForm">
>                                     <tc:button
> label="#{global.cmdDescribe}" action="describe"
> actionListener="#{tableSearchCriteria.test}">
>                                         <tc:attribute name="testTable"
> value="test123"/>
>                                         <f:param name="tableNameId"
> value="Test23"/>
>                                     </tc:button>
>                                     </tc:form>
>                                 </tc:column>
> ...
>                             </tc:sheet>
>
>
> but the parameter tableNameId is not transfered to the server.If I read
> all request parameters in the actionListener:
>
>         FacesContext context = FacesContext.getCurrentInstance();
>         Map map = context.getExternalContext().getRequestMap();
>         Iterator iter = map.keySet().iterator();
>         while (iter.hasNext()) {
>             String key = (String) iter.next();
>             System.out.println("key: "+key+" -> "+map.get(key));
>         }
>
>
> The parameter tableNameId is not part of the parameters. does anyone
> have any suggestions?
>
> regards
>   Leo
>
>

Re: [Tobago] parameter for detail links

Posted by Zied Hamdi <ja...@gmail.com>.
Hi Volker,

I didn't know about that! does a session scoped bb hold old bindings, or why
shouldn't we use binding in that case?

Is it because of the tree view serialization when dormant?

I though binding is the best way to be in touch with the view and get user
entries efficiently...

Regards,
Zied

2007/8/1, Volker Weber <v....@inexso.de>:
>
> Hi,
>
> i suppose to don't use binding if you can avoid it. At least you
> should never use a binding pointing to a session scoped bean.
>
>
> Regards,
>    Volker
>
> 2007/8/1, Zied Hamdi <ja...@gmail.com>:
> > Hi Leo,
> >
> > You sould use one of these two
> >
> > 1. <tc:sheet binding="tableSearchCriteria.table"
> > 2. getApplication().createValueBinding( "#{" + yourID + "}" ).getValue(
> > getFacesContext() );
> >
> > If you are under jsf 1.2 you can use
> > getApplication().evaluateExpressionGet( getFacesContext(),
> > "#{" + el + "}", clazz ) for the second case.
> > In general it's not a good idea to access the tree through
> ServletRequest
> > parameters, JSF did all it can to hide this low level.
> >
> > Regards,
> > Zied
> >
> >
> > 2007/8/1, Leonhard Holzer <le...@abuscom.com>:
> > > Hello list,
> > >
> > > I use spring webflow together with tobago 1.0.11 on java 1.4.
> > > I have a sheet:
> > >
> > >                            <tc:sheet
> > > value="#{tableSearchCriteria.tableList}"
> > >
> > columns="100px;70px;70px;70px;*" var="row">
> > >                                <tc:column label="#{ global.tableName
> }">
> > >                                    <tc:out value="#{row}"
> > />
> > >                                </tc:column>
> > > ...
> > >                                <tc:column label="#{ global.actions}">
> > >                                    <tc:form
> > id="describeTableForm">
> > >                                    <tc:button
> > > label="#{global.cmdDescribe}" action="describe"
> > > actionListener="#{tableSearchCriteria.test}">
> > >                                        <tc:attribute
> > name="testTable"
> > > value="test123"/>
> > >                                        <f:param
> > name="tableNameId"
> > > value="Test23"/>
> > >                                    </tc:button>
> > >                                    </tc:form>
> > >                                </tc:column>
> > > ...
> > >                            </tc:sheet>
> > >
> > >
> > > but the parameter tableNameId is not transfered to the server.If I
> read
> > > all request parameters in the actionListener:
> > >
> > >        FacesContext context = FacesContext.getCurrentInstance();
> > >        Map map = context.getExternalContext().getRequestMap();
> > >        Iterator iter = map.keySet().iterator();
> > >        while (iter.hasNext()) {
> > >            String key = (String) iter.next();
> > >            System.out.println("key: "+key+" -> "+map.get(key));
> > >        }
> > >
> > >
> > > The parameter tableNameId is not part of the parameters. does anyone
> > > have any suggestions?
> > >
> > > regards
> > > Leo
> > >
> > >
> >
> >
> >
> > --
> > Zied Hamdi
> >  zatreex.sourceforge.net
>



-- 
Zied Hamdi
zatreex.sourceforge.net

Re: [Tobago] parameter for detail links

Posted by Volker Weber <v....@inexso.de>.
Hi,

i suppose to don't use binding if you can avoid it. At least you
should never use a binding pointing to a session scoped bean.


Regards,
    Volker

2007/8/1, Zied Hamdi <ja...@gmail.com>:
> Hi Leo,
>
> You sould use one of these two
>
> 1. <tc:sheet binding="tableSearchCriteria.table"
> 2. getApplication().createValueBinding( "#{" + yourID + "}" ).getValue(
> getFacesContext() );
>
> If you are under jsf 1.2 you can use
> getApplication().evaluateExpressionGet( getFacesContext(),
> "#{" + el + "}", clazz ) for the second case.
> In general it's not a good idea to access the tree through ServletRequest
> parameters, JSF did all it can to hide this low level.
>
> Regards,
> Zied
>
>
> 2007/8/1, Leonhard Holzer <le...@abuscom.com>:
> > Hello list,
> >
> > I use spring webflow together with tobago 1.0.11 on java 1.4.
> > I have a sheet:
> >
> >                            <tc:sheet
> > value="#{tableSearchCriteria.tableList}"
> >
> columns="100px;70px;70px;70px;*" var="row">
> >                                <tc:column label="#{ global.tableName}">
> >                                    <tc:out value="#{row}"
> />
> >                                </tc:column>
> > ...
> >                                <tc:column label="#{ global.actions}">
> >                                    <tc:form
> id="describeTableForm">
> >                                    <tc:button
> > label="#{global.cmdDescribe}" action="describe"
> > actionListener="#{tableSearchCriteria.test}">
> >                                        <tc:attribute
> name="testTable"
> > value="test123"/>
> >                                        <f:param
> name="tableNameId"
> > value="Test23"/>
> >                                    </tc:button>
> >                                    </tc:form>
> >                                </tc:column>
> > ...
> >                            </tc:sheet>
> >
> >
> > but the parameter tableNameId is not transfered to the server.If I read
> > all request parameters in the actionListener:
> >
> >        FacesContext context = FacesContext.getCurrentInstance();
> >        Map map = context.getExternalContext().getRequestMap();
> >        Iterator iter = map.keySet().iterator();
> >        while (iter.hasNext()) {
> >            String key = (String) iter.next();
> >            System.out.println("key: "+key+" -> "+map.get(key));
> >        }
> >
> >
> > The parameter tableNameId is not part of the parameters. does anyone
> > have any suggestions?
> >
> > regards
> > Leo
> >
> >
>
>
>
> --
> Zied Hamdi
>  zatreex.sourceforge.net

Re: [Tobago] parameter for detail links

Posted by Zied Hamdi <ja...@gmail.com>.
Hi Leo,

You sould use one of these two

1. <tc:sheet binding="tableSearchCriteria.table"
2. getApplication().createValueBinding( "#{" + yourID + "}" ).*getValue*(
getFacesContext() );

If you are under jsf 1.2 you can use getApplication().evaluateExpressionGet(
getFacesContext(), "#{" + el + "}", clazz ) for the second case.
In general it's not a good idea to access the tree through ServletRequest
parameters, JSF did all it can to hide this low level.

Regards,
Zied


2007/8/1, Leonhard Holzer <le...@abuscom.com>:
>
> Hello list,
>
> I use spring webflow together with tobago 1.0.11 on java 1.4.
> I have a sheet:
>
>                            <tc:sheet
> value="#{tableSearchCriteria.tableList}"
>                                columns="100px;70px;70px;70px;*" var="row">
>                                <tc:column label="#{global.tableName}">
>                                    <tc:out value="#{row}" />
>                                </tc:column>
> ...
>                                <tc:column label="#{global.actions}">
>                                    <tc:form id="describeTableForm">
>                                    <tc:button
> label="#{global.cmdDescribe}" action="describe"
> actionListener="#{tableSearchCriteria.test}">
>                                        <tc:attribute name="testTable"
> value="test123"/>
>                                        <f:param name="tableNameId"
> value="Test23"/>
>                                    </tc:button>
>                                    </tc:form>
>                                </tc:column>
> ...
>                            </tc:sheet>
>
>
> but the parameter tableNameId is not transfered to the server.If I read
> all request parameters in the actionListener:
>
>        FacesContext context = FacesContext.getCurrentInstance();
>        Map map = context.getExternalContext().getRequestMap();
>        Iterator iter = map.keySet().iterator();
>        while (iter.hasNext()) {
>            String key = (String) iter.next();
>            System.out.println("key: "+key+" -> "+map.get(key));
>        }
>
>
> The parameter tableNameId is not part of the parameters. does anyone
> have any suggestions?
>
> regards
> Leo
>
>


-- 
Zied Hamdi
zatreex.sourceforge.net

[Tobago] parameter for detail links

Posted by Leonhard Holzer <le...@abuscom.com>.
Hello list,

I use spring webflow together with tobago 1.0.11 on java 1.4.
I have a sheet:

                            <tc:sheet 
value="#{tableSearchCriteria.tableList}"
                                columns="100px;70px;70px;70px;*" var="row">
                                <tc:column label="#{global.tableName}">
                                    <tc:out value="#{row}" />
                                </tc:column>
...
                                <tc:column label="#{global.actions}">
                                    <tc:form id="describeTableForm">
                                    <tc:button 
label="#{global.cmdDescribe}" action="describe" 
actionListener="#{tableSearchCriteria.test}">
                                        <tc:attribute name="testTable" 
value="test123"/>
                                        <f:param name="tableNameId" 
value="Test23"/>
                                    </tc:button>
                                    </tc:form>
                                </tc:column>
...
                            </tc:sheet>


but the parameter tableNameId is not transfered to the server.If I read 
all request parameters in the actionListener:

        FacesContext context = FacesContext.getCurrentInstance();
        Map map = context.getExternalContext().getRequestMap();
        Iterator iter = map.keySet().iterator();
        while (iter.hasNext()) {
            String key = (String) iter.next();
            System.out.println("key: "+key+" -> "+map.get(key));
        }


The parameter tableNameId is not part of the parameters. does anyone 
have any suggestions?

regards
  Leo