我正在尝试仅检索我的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以处理对象列表并打印名称和unitPrice?
答案 0 :(得分:0)
我知道您要求使用Javascript,但如果Javascript不是强制性的,则使用scala.html的替代方法可能大致如下。
由于您已经生成了列表,因此只需将其传递给您的模板。
@(objects: List[Object])
然后,因为您只想打印名称和单价,只需遍历列表并输出您的字段。
@for(event <- eventsList){
object.name object.unitPrice
}
你也可以在表格中使用for循环,但这应该或多或少地完成你想要做的只是简单地引用模板中的元素。