1
我試圖創造世界上最簡單的dataTable使用JSF戰斧這樣的:爲什麼JSF tomahawk dataTable不顯示?
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:t="http://myfaces.apache.org/tomahawk">
<h:head>
<title></title>
</h:head>
<h:body>
<h:form id="theForm">
<h:outputText value="#{theBean.theList eq null}"/>
<t:dataTable id="dt1" value="#{theBean.theList}" var="item">
<t:column>
<f:facet name="header">
<t:outputText value="Header A"/>
</f:facet>
<t:outputText value="#{item.itemA}"/>
</t:column>
</t:dataTable>
</h:form>
</h:body>
</html>
上面的代碼是保存爲XHTML文件。 bean類是這個樣子:
@ManagedBean(name="theBean")
@SessionScoped
public class MyBean {
private MyData[] theList = new MyData[] {
new MyData("1111", "", "", "")};
public MyData[] getTheList() {
return theList;
}
public void setTheList(MyData[] theList) {
this.theList = theList;
}
}
public class MyData {
private String itemA;
...
...
}
在屏幕上我沒有看到數據表的輸出,我看到一個黑色的顏色false
字和白色空白屏幕,這是由於該代碼<h:outputText value="#{theBean.theList eq null}"/>
說服力我這個名單不是空的。
我看到這個從網絡瀏覽器源輸出:
<t:dataTable id="dt1" value="[Lcom.foo.MyData;@1798a6c" var="item">
<t:column>
<t:outputText value=""></t:outputText>
</t:column>
</t:dataTable>
我只是好奇,想知道爲什麼數據表不顯示?如何使它顯示在屏幕上?
在客戶端檢查JSF生成的HTML輸出(在瀏覽器中打開頁面,右鍵單擊*查看源*)。 ''是否被解析? –
BalusC
你是通過解析還是不解釋?如果我看到或看不到它是什麼意思? – huahsin68
在chrome上右鍵單擊頁面,並使用inspect元素檢查輸出的html,看看是否可以看到數據表的ID爲 – PermGenError