从ajax得到响应后,在jsp上迭代arraylist值

时间:2014-02-21 09:23:16

标签: javascript ajax jsp

我从ajax响应中得到了arraylist。在通过arraylist从ajax获得响应后,如何将值分配给textbox

while(rs1.next())
{
            pabean.setAge(rs1.getString("patient_age"));
            pabean.setDalerg(rs1.getString("patient_drug_allergies"));
            pabean.setPmhistory(rs1.getString("patient_past_medical_history"));
            pabean.setDiet(rs1.getString("patient_diet"));
            pabean.setFhistory(rs1.getString("patient_family_history"));
            pabean.setTobbaco(rs1.getString("patient_smoke"));
            pabean.setDhistory(rs1.getString("patient_drug_history"));
            pabean.setAlco(rs1.getString("patient_alcohol"));
            pabean.setSleep(rs1.getString("patient_sleep"));
            pabean.setGhistory(rs1.getString("patient_ob_gyn_history")              
            pabean.setPatient_details_id(rs1.getInt("patient_details_id"));
            //uid = rs.getInt("patient_details_id");

}
           addressLists1.add(pabean);
           session.setAttribute("pagup", addressLists1);
           out.println(addressLists1);

1 个答案:

答案 0 :(得分:0)

你说你从ajax电话中获得了这个值。

请记住,您无法在ajax响应中获取java对象。因为调用是javascript的一部分而javascript无法访问java对象。

就像你打印arraylist一样,如out.println(addressList1);它打印为[com.bridghc.bean.PatientDetailsBean@15f9093f]它只是addressList1对象的字符串表示,没有用处。

你在jsp中编写代码的第二件事就是

< input type =“text”id =“txtage”name =“txtage”placeholder =“Age”class =“form-control”value =“<%= padetail.get(0).getAge() %>“中>

so<%= padetail.get(0).getAge()%>是一个java代码,即使在进行ajax调用之前,当你需要页面时,它也会在服务器上运行。

你可以试试这个 -

如果你想在jsp中打印年龄,只需将它打印在servlet上,如

通过out.println(padetail.get(0).getAge());

所以现在在ajax回复中你会得到年龄。

现在你可以使用jquery将响应值放在所需的输入中,例如$('#txtage')。val(responseData);

如果你希望你的整个列表在jsp上响应ajax,最好使用json使用任何json库,如google gson或json.org并创建json数组而不是arraylist,然后将mime类型设置为“application / json “然后用out.print()打印它 之后你可以在ajax成功调用中解析这个json并以你想要的任何方式使用。