ajax通过servlet将java arraylist传递给jsp,并根据arraylist的大小创建字段
**=========================== MY JAVA FUNCTION RETURNS AN ARRAYLIST============
public ArrayList<Class1> getDetails(String id, String year) {
ArrayList<Class1> arraylist1 = new ArrayList<Class1>();
return arraylist1;
}
============================== SERVLET CODE =================================
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try{
String operation=request.getParameter("operation");
log.debug("Operation : "+operation);
Class1 obj1 = new Class1();
response.setContentType("text/plain");
PrintWriter out = response.getWriter();
if(operation.equals("getDetails")){
ArrayList<Class1> record1 = new ArrayList<Class1>();
String id = request.getParameter("id_code");
String year = request.getParameter("fin_yr");
if(id != null) {
record1 = obj.geDetails(id, year);
}
out.print(record1);
}
} catch(Exception e){
log.error("Exception : "+ e.toString());
}
}
======================JSP CODE=====================================
if($('idCode').val() != ""){
$('#IdCode').focus(function(){
var fYear = $('#txtYear :selected').attr('label');
htmlObj = $.ajax({
type: "GET",
url: "Servlet1",
data: "operation=getDetails&id_code="+ $('#IdCode').val() + "&fin_yr="+ fYear,
async: false,
contentType:"text/html; charset=utf-8",
dataType:"html",
success: function(result){
}
}
});
});
}**
在上面的代码中,我添加了一个伪函数,该函数将在servlet调用该函数后返回arrayList。现在我的问题是如何将arraylist放入五月jsp页面。 我将arraylist正确地添加到servlet中,我不知道如何将它添加到jsp页面中,并根据sevlet返回的servlet大小设计控件
# 1 楼答案
您没有向列表中添加元素。所以,即使你在列表上迭代,里面也不会有任何元素。基本上,您可以使用java代码在jsp上的列表之间进行迭代:<;%…%>; 但这不是最佳实践
您可以在回复中包括您的列表:
在jsp上,你可以得到它,并在上面迭代:
请看这个答案:Passing ArrayList from servlet to JSP