[Tomahawk] Datatable et TreeTable
Salut à tous,
est-il possible d'inclure une treeTable dans une datatable ?
je m'explique, je dispose d'une datatable qui affiche le contenu d'une liste List<myobject>, pour chaque objet de cette list je dispose d'un attribut treeModel qui correspond à l'objet DefaultTreeModel de (org.apache.myfaces.custom.tree.model.DefaultTreeModel)
voici le code partiel de la classe MyObject.java
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
public class MyObject {
...
private DefaultTreeModel treeModel;
public DefaultTreeModel getTreeModel() {
return treeModel;
}
public void setTreeModel(DefaultTreeModel treeModel) {
this.treeModel = treeModel;
}
...
} |
pour afficher la treetable associée à chaque ligne je procède comme ceci dans ma page jsf:
Code:
1 2 3 4 5 6 7 8 9
|
<t:dataTable value="#{bean.list}" var="myobject">
...
<t:tree value="#{myobject.treeModel}" var="treeItem" expandRoot="true">
...
</t:tree>
...
</t:datatable> |
sachant que l'arbre treeModel est bien créer pour chaque ligne et il diffère d'une ligne à l'autre; (2 lignes n'auront pas le même arbre) j'obtien l'erreur suivante lors de l'exécution:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
javax.faces.el.PropertyNotFoundException: javax.el.PropertyNotFoundException: Target Unreachable, identifier 'myobject' resolved to null
com.sun.faces.application.ValueBindingValueExpressionAdapter.setValue(ValueBindingValueExpressionAdapter.java:154)
org.apache.myfaces.custom.tree.taglib.TreeTag.doStartTag(TreeTag.java:349)
org.apache.jsp.Search_jsp._jspx_meth_t_005ftree_005f0(Search_jsp.java:10749)
org.apache.jsp.Search_jsp._jspx_meth_h_005fpanelGroup_005f24(Search_jsp.java:10694)
org.apache.jsp.Search_jsp._jspx_meth_h_005fpanelGrid_005f14(Search_jsp.java:9922)
org.apache.jsp.Search_jsp._jspService(Search_jsp.java:1380)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:415)
com.sun.faces.application.ViewHandlerImpl.executePageToBuildView(ViewHandlerImpl.java:458)
com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:126)
org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:274)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:154)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281) |
il semblerai que jsf attend un bean et non une variable pour la valeur de l'attribut value de <t:tree>
j'ai biensûre essayer de déclarer la variable myobject comme étant aussi un bean c'est à dire qu'elle est non seulement une variable mais aussi un bean et le résultat obtenu est tout a fait étrange, j'obtient pour chaque ligne le même arbre.
merci de votre aide.