2012-03-21 14 views
0

私はrich:dataTableがレンダリングされていない理由を理解できません。 JSF 2とRichfaces 4を使用しています。URLはhttp://localhost:8080/contacts-as7/me2.jsf?sitecode=0Z56ですが、sitecodeパラメータを指定しない場合と同じように動作します。確かに移入されdoors.getAlternateList() -なぜ私の金持ちですか:dataTableはレンダリングされませんか?

はここで見るここ

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" 
    xmlns:ui="http://java.sun.com/jsf/facelets" 
    xmlns:h="http://java.sun.com/jsf/html" 
    xmlns:f="http://java.sun.com/jsf/core" 
    xmlns:rich="http://richfaces.org/rich" 
    xmlns:a4j="http://richfaces.org/a4j"> 

<h:head> 
    <title>contacts</title> 
</h:head> 

<f:metadata> 
    <f:viewParam name="sitecode" value="#{contactView.siteCode}" /> 
    <f:event listener="#{contactView.retrieve056}" type="preRenderView"></f:event> 
</f:metadata> 

<h:form> 
    <h:messages /> 

    <rich:panel rendered="#{not empty contactView.doors}"> 
    <f:facet name="header"> 
     <h:outputText value="Site Code #{contactView.doors.siteCode}" /> 
    </f:facet> 
    <h:panelGrid columns="1"> 
     <h:outputText 
     value="Report corrections to your DOORS administrator" /> 
     <h:outputText id="nm1" value="#{contactView.doors.name}" /> 
     <h:outputText id="pgr1" value="#{contactView.doors.pager}" /> 
     <h:outputText id="adr1" value="#{contactView.doors.addr1}" /> 
     <h:outputText id="adr2" value="#{contactView.doors.addr2}" 
     rendered="#{not empty contactView.doors.addr2}" /> 
     <h:outputText id="csz" 
     value="#{contactView.doors.city}, #{contactView.doors.state} #{contactView.doors.zip}" /> 
    </h:panelGrid> 
    </rich:panel> 

    <rich:dataTable value="#{contactView.doors.alternateList}" var="_xyz"> 
    <h:panelGrid columns="1"> 
     <h:outputText id="nm11" value="#{_xyz.name}" /> 
     <h:outputText id="pgr11" value="#{_xyz.phone}" /> 
     <h:outputText id="adr11" value="#{_xyz.pager}" /> 
     <h:outputText id="adr21" value="#{_xyz.comment}" /> 
    </h:panelGrid> 
    </rich:dataTable> 

</h:form> 

</html> 

私の見解豆

@Named 
@ViewScoped 
public class ContactView implements Serializable { 

    public ContactView() { 
    } 

    @EJB 
    ContactService contactService; 

    private String siteCode; 
    private Doors doors; 
    private AlternateContact alternateContact; 


    public String retrieve056() { 
     System.out.println("RETRIEVE"); 
     this.doors = this.contactService.findDoors("0Z56"); 
     System.out.println("doors_id is "+ doors.getDoorsId()); 
     for (AlternateContact alt : doors.getAlternateList()){ 
      System.out.println("alt name "+ alt.getName()); 
     } 
     return "me2.jsf?sitecode=0Z56&faces-redirect=true"; 
    } 

} 

をされており、ここでは、コンソールに出力されています。

15:30:58,382 INFO [stdout] (http-localhost-127.0.0.1-8080-3) alt name Thomas Cahill 

15:30:58,392 INFO [stdout] (http-localhost-127.0.0.1-8080-3) alt name Micahel Henry 

まだ、私の見解には表示されません!私はこれを一日中見てきており、悲しいです。何か案は?ここ2,3日で何らかの時点で作業していましたが、私が他のことに取り組んでいたときにどのようにそれを壊したのか分かりません。

TDR

答えて

1

のdataTableを使用する場合は、あなたが金持ち使用する必要があります:列またはリッチ:columnGroup

よろしく

...ただ、 rich:dataGridを見て代わり <rich:dataTable>

<rich:dataGrid>を使用してみてください

+0

oh duh!私はそれがタイプミスのように単純でなければならないことを知っていました。もちろん、dataGridを使って固定しました。私はリッチを使用していると確信しています:列も動作します。 – april26

0

richfacに付随するすべてのコモンズ* .jarを含めましたか? es?それなしではレンダリングされません。

関連する問題