установка значения jQuery в атрибут "items" <c: forEach> - PullRequest
0 голосов
/ 16 апреля 2020

Я пытаюсь заменить значение атрибута "items" тега c: forEach на значение jQuery, которое я получил снизу.

$.ajax({
    type:"POST",
    url:"tour_list_json?"+$.param(ratingJSON),
    async:true,
    contentType:"application/x-www-form-urlencoded;charset=utf-8",
    success:function(jsonObject) {
        $('c\\:forEach:first').attr('items', jsonObject);
    }
});

Ниже тег, который я пытаюсь внести.

<c:forEach var="product" items="${productList}">

Здесь я хочу, чтобы items = "$ {productList}" стал items = "jsonObject" тэг выводит на печать только что полученный список продуктов.

Как видите, я пытался с $ ('c \: forEach: first'). attr ('items', jsonObject ); но это не меняет результат, и я все еще вижу оригинальный список продуктов. Кто-нибудь может помочь?

1 Ответ

1 голос
/ 16 апреля 2020

Вы не можете использовать как $('c\\:forEach:first').attr('items', jsonObject);, так как вы используете JSP, вы установили productList в своем ModelMap

   model.put("productList",productList);

И в своем jsps просто используйте

@RequestMapping(value = "/getAllProducts", method = RequestMethod.GET)
public List getAllProducts(ModelMap model) {
    ArrayList<Product> productList=new ArrayList<E>();
    //productList  add values
    return productList;
}

 success:function(jsonObject) {
     $(jsonObject).each(function(product){
       let productHTML = `<p>Product ${product.name}  Price ${product.price}`;
       $("#yourProductListEl").append(productHTML);
     })
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...