5

確かにデータベースにあるデータをレンダリングできません。私のすべてのDAOメソッドが機能し、テストされました。おそらく重要ではありませんが、とにかく: 私は Primefaces、Java ee 6、glassfish 3.1 を使用しています。

エラーは次のとおりです。/edit.xhtml @59,45 value="#{b.orderNum}": The class 'com.boatmanagement.domain.BoatOrder' does not have the property 'orderNum'.

私のドメインクラス。

@Entity
@Table(name="BOAT_ORDR_TB")
public class BoatOrder implements Serializable
{
    @Id
    @GeneratedValue
    @Column(name="ORDER_PK")
    private int orderId;

    @Column(name="ORDER_NUM")
    private String orderNum;

    @Temporal(TemporalType.DATE) 
    @Column(name="ORDER_DATE")
    private Date orderDate;

    public int getBoatOrderId() {
        return orderId;
    }
    public void setBoatOrderId(int orderId) {
        this.orderId = orderId;
    }
    public String getBoatOrderNum() {
        return orderNum;
    }
    public void setBoatOrderNum(String orderNum) {
        this.orderNum = orderNum;
    }
    public Date getBoatOrderDate() {
        return orderDate;
    }
    public void setBoatOrderDate(Date orderDate) {
        this.orderDate = orderDate;
    }
}

これは私の JSF ページの一部です。

        <h:form class="displayTable">
            <p:dataTable id="boatTable" autoUpdate="true"
                var="b" value="#{filterbean.btOrderlist}">

                <p:column headerText="res. num" width="50">
                    <h:outputText value="#{b.orderNum}" />
                </p:column>

                <p:column headerText="Date" width="50">
                    <h:outputText value="#{b.orderDate}" />
                </p:column>

                <p:column headerText="Yacht name" width="100">
                    <h:outputText value="" />
                </p:column>

            </p:dataTable>
        </h:form>
    </ui:define>
4

2 に答える 2

18

プロパティの存在は、基本的に、Javabeans 仕様に従って命名された public getter メソッドの存在によって決定されます。したがって、orderNum基本的に のプロパティには、という名前の public getter が必要ですgetOrderNum()(また、入力コンポーネントの場合は、という名前の public setter も必要ですsetOrderNum())。

あなたはそれらを持っていません。あなたはそれらに異なる名前を付けました。クラスのメソッド名、または EL のプロパティ名を修正します。

于 2012-08-21T19:23:13.343 に答える
0

余談ですが、これが 8 年前のものであることを知っていたので、ブール値/ブール値を扱うときに問題が見つかりました。

オブジェクトメンバーが「アクティブ」であると仮定すると、Eclipse は getActive() ではなく isActive() としてゲッターを作成します。JBOSS/Tomcat はこのゲッターを認識しないようです。Glassfish でこれを試したことはありませんが、他の誰かがこの問題を見つけた場合に備えて投稿しています...

于 2020-11-04T19:55:24.260 に答える