如何将arrayList的元素从servlet获取到jsp并在不使用AJAX的情况下显示在同一个jsp上

时间:2013-12-11 06:49:12

标签: java jsp servlets arraylist

这是我的servlet代码

 con.getCliWithProp(fromdate, todate, packageid, quantity,pro);
        for(int i=0;i<Integer.parseInt(quantity);i++){
            results.add(con.resultCli.toArray()[i].toString());

        }System.out.println(results);
        request.setAttribute("cli",results);
    }
    request.getRequestDispatcher("/npt.jsp").forward(request, response);
    }

我在jsp中得到这个arralyList,我的JSP代码是

<form action="getDetails" method="post">
<label>From date</label>
<input type="text" name="fromDate" placeholder="From Date" id="datepicker">
<label>To date</label>
<input type="text" name="toDate" placeholder="To Date" id="datepicker1">
<br>
<button class="btn btn-success"  id='submit' >Generate CLI</button>

 </form>
 <br><br>
 <div id="display">
 <pre>
 <font size="4">${requestScope.cli}</font>
 </pre>
 </div>

当我从日期和日期给出时,它会将数据提取到arrayList中,但会以

的格式显示
['122131232','123232312']

我希望在不使用AJAX的情况下在同一个jsp页面上显示元素。

2 个答案:

答案 0 :(得分:1)

要以元素方式显示,请使用JSTL <c:forEach/>标记

<div id="display">
    <pre>
     <c:forEach items=${requestScope.cli} var="item">
     <font size="4">${item}</font> <br />
     </c:forEach>
    </pre>
</div>

要使用ajax,请将JQuery ajax与Servlet和JSON一起使用,

<script>
$(document).ready(function() {
  $('#button').click(function() {
         $.get('JsonStrListServlet', function(responseJson) {   
         // Parse the json result on somediv
          var $ul = $('<ul>').appendTo($('#somediv')); 
          $.each(responseJson, function(index, item) {
          $('<li>').text(item).appendTo($ul);  
          });
      });

  });
</script>

答案 1 :(得分:1)

如果您只想使用fn:length(tableEntity.rows))

获取集合的长度

并且为了迭代使用JSTL <c:forEach>

<c:forEach items='${List}' var='varObj'>
<c:out value="${varObj}"/>
</c:forEach>

希望这会有所帮助。