正在使用springMVC开发JSR286 portlet。我的portlet中有一个div,它将在我的模型中迭代一个集合并显示如下
<dl>
<c:forEach var="product" items="${productList}">
<dt>
<div><img src="<%=request.getContextPath()%>/images/banner.jpg" /></div>
<div>${product.name} - ${product.price}</div>
<div>${product.serviceOne}</div>
<div>${product.servicetwo}</div>
<div>${product.serviceThree}</div>
</dt>
</c:forEach>
</dl>
我有上一个和下一个链接。单击链接我需要异步刷新div与新内容(使用ajax)。我使用jQuery编写脚本。我可以使用资源请求(资源映射URL)替换模型中的集合。但我不知道如何刷新ajax成功的div,以便可以在portlet中查看新的集合。
技术人员给你的建议..
答案 0 :(得分:0)
仅使用迭代逻辑创建了一个新的jsp。在资源请求中,我返回了jsp名称,从而查看解析器从视图文件夹中选择了相应的jsp,并将执行的内容作为响应返回。我把内容放在了ajax成功的div中。 下面是代码
@ResourceMapping("filterProducts")
public String filterProducts(Model model, ResourceRequest request,
ResourceResponse response,
@ModelAttribute("productModel") ProductModel productModel,
ModelMap modelMap) throws IOException {
model.addAttribute("productModel", updatedProductModel);
return "productDetails";
}
$.ajax({
url : fltURL,
type : 'POST',
datatype : 'html',
success : function(_html) {
$('#midcontainer').html(_html);
},
error : function() {
alert('error');
}});
<portlet:resourceURL var="filterProductsURL" id="filterProducts"></portlet:resourceURL>