0

我试图只检索我的 JPA 对象的一部分属性以在我的 Play 中使用!模板。

这是在我的控制器应用程序中:

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();
}

这是我之前使用的代码,用于从我的 JPA 对象中获取每个字段,称为 Item

<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 回答