[英]How to pass a List to javascript in JSF
我正在为一个 JSF 项目而苦苦挣扎。 在我的服务中,我检索了一个自定义对象列表(这里是 Sales),我必须将它传递给我的 jsf 视图,特别是传递给 javascript,以制作图表。
我的问题是,我不明白如何将数据从控制器(我的托管 bean)发送到我的视图,以及在我的视图中使用哪个标签在我的 javascript 中检索它。
我想我可以像这样传递我的数据,但我不确定
public String passData() {
List<Sales> bestSelling = saleService.getBestSellingProduct(null, null, null, null);
List<Sales> worstSelling = saleService.getWorstSellingProduct(null, null, null, null);
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("bestSelling", bestSelling);
FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("worstSelling", worstSelling);
return "./all.jsf?faces-redirect=true";
}
您需要创建一个将分配给 JavaScript 变量的 JSON 对象。 要创建 JSON,您可能会发现合并像Gson这样的库很有用。
所以,它看起来像:
var sales = #{bean.jsonList};
使用Bean#getJsonList
作为:
public String getJsonList() {
return (sales == null) ? "" : new Gson.toJson(sales);
}
只是不要忘记具有此类分配的脚本必须由FacesServlet
处理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.