我是Primefaces新手,我嘗試使用Primefaces 3.3.1中的treeTable。 只有TreeTable的第一條記錄顯示在開頭。然後,當我點擊小圖片展開TreeTable時,沒有任何反應。螢火蟲,我可以SE以下結果:Primefaces TreeNode不擴展
<partial-response>
<error>
<error-name>class java.lang.StringIndexOutOfBoundException</error-name>
<error-message>String index out of range: -1</error-message>
</error>
</partial-response>
如果我強迫我treetable中與node0.setExpanded(真)擴展,那麼treetable中展開。然後我可以再次崩潰,但我無法擴展它。 在其他文章中,寫道模型和/或bean必須實現Serializable。我嘗試,但它不起作用。
下面,我的模型(什麼將被放置在treetable中的每一條記錄):
public class MyModel{
private String field_1;
private String field_2;
public MyModel(){};
public MyModel(String field_1, String field_2){
this.field_1 = field_1;
this.field_2 = field_2;
}
//Getters and setters
}
下面,JSF託管Bean,它創建treetable中:
@ManagedBean
@SessionScoped
public class MyManagedBean{
public TreeNode root;
}
public MyManagedBean{
root = new DefaultTreeNode("root",null);
TreeNode node0 = new DefaultTreeNode(new MyModel("Field 1", "Field 2"), root);
TreeNode sub0 = new DefaultTreeNode(new MyModel("Sub", "Sub"), node0);
//node0.setExpanded(true);
}
public TreeNode getRoot(){
return root;
}
最後,我的JSF文件:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<f:view contentType="text/html">
<h:head>
<f:facet name="first">
<meta content='text/html; charset=UTF-8' http-equiv="Content-Type"/>
<title>PrimeFaces</title>
</f:facet>
</h:head>
<h:body>
<p:treeTable value="#{myManagedBean.root}" var="test">
<p:column>
<f:facet name="header">
Field 1
</f:facet>
<h:outputText value="#{test.field_1}" />
</p:column>
<p:column>
<f:facet name="header">
Field 2
</f:facet>
<h:outputText value="#{test.field_2}" />
</p:column>
</p:treeTable>
</h:body>
</f:view>
非常感謝您的幫助!
沒有人有想法嗎? – 2012-08-17 09:40:56