0

私はtestidを持つテーブルを持っているとしましょうname

私のビーンで私はこのクエリを得ました

public List getTestList(){
  Query q = em.createNativeQuery("select * from test");
  List list = q.getResultList();
  return list;
}

私のjsfページには次のものがあります:

<ul>
    <ui:repeat id="resulta" value="#{testController.testList}" var="item"> 
        <li>#{item.id}</li>
    </ui:repeat>
</ul>

なぜ私はSEVERE: javax.el.ELException: /test.xhtml: For input string: "id"

4

2 に答える 2

0

SEVERE が発生するのはなぜですか: javax.el.E​​LException: /test.xhtml: For input string: "id"

List<Object[]>ネイティブ クエリはではなく を返すためList<Test>です。基本的に、 などの整数ではなく indexObject[]などの文字列を使用して配列にアクセスしようとしています。スタック トレースをよく見ると、例外の後のスタックにもう少し存在することに気付くはずです。これは、実際には配列として解釈されていることをすでに示唆しているはずです。"id"0ArrayELResolver#{item}

したがって、完全に価値のあるものとして絶対に取得できない場合List<Test>(などを使用て内部結合を簡単に実行できます@ManyToOne)、SELECTクエリから最初の列を取得するためにこれを行う必要があります。

<li>#{item[0]}</li>
于 2013-05-03T11:05:55.547 に答える