0

Play で使用する JPA オブジェクトのプロパティのサブセットのみを取得しようとしています! テンプレート。

これは私のコントローラアプリケーションにあります:

public static List<Object> all2D() {
    EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("defaultPersistenceUnit");
    EntityManager entityManager = entityManagerFactory.createEntityManager();

    TypedQuery<Object> query = entityManager.createQuery("SELECT title, unitPrice FROM Item i", Object.class);
    return query.getResultList();
}

これは、Item と呼ばれる JPA オブジェクトからすべてのフィールドを取得するために以前に使用したコードです。

<script type="text/javascript">

$(function(){
    get_itemz();       
});

var get_itemz = function() {       
    $.ajax({
        url: '@routes.Application.getJson()',
        processData:false,
        type: 'GET',
        beforeSend:function(jqXHR, settings){                   
            jqXHR.setRequestHeader("Content-Type", "application/json");                 
        },
        success: function(data, textStatus, jqXHR){                 
            process_itemz(data);   
        },
        error: function(jqXHR, textStatus, errorThrown){                
        },
        complete: function(jqXHR,textStatus){                   
        }   
    });
};

var process_itemz = function(itemz){      
    var contentDiv=$("div#content");
    contentDiv.append("<ul>");            
    $.each(itemz,function(i,item){
        contentDiv.append("<li>" + item.name + "</li>");
    });
    contentDiv.append("</ul>");                 
};
</script>

オブジェクトのリストを処理し、名前と単価を出力するにはどうすれば JavaScript を変換できますか?

4

1 に答える 1

0

このために Javascript を要求したことは知っていますが、Javascript が必須でない場合、scala.html を使用する代替手段はおおよそ次のようになります。

すでにリストが生成されているので、代わりにそれをテンプレートに渡すだけです。

@(objects: List[Object])

次に、単に名前と単価を出力したいだけなので、リストを走査してフィールドを出力するだけです。

@for(event <- eventsList){
     object.name object.unitPrice    
}

テーブル内で for ループを使用することもできますが、これは、テンプレート内の要素を単に参照するためにやりたいことを多かれ少なかれ達成するはずです。

于 2012-07-06T15:02:29.197 に答える