gpt4 book ai didi

java - jsp显示后在jsp中显示java列表数据

转载 作者:行者123 更新时间:2023-11-29 05:58:28 27 4
gpt4 key购买 nike

我是 Java EE 编程的新手。按照我对jsp的理解。如果我错了请纠正我
- JSP 页面首先转换为 servlet,然后转换为 html,结果 html 页面显示在浏览器中。

现在假设 jsp 页面显示在浏览器中,即现在它是 html 页面,我有一个 java 列表,其中包含我想在当前加载的页面上打印的名称或某种数据。我可以使用 ajax 获取 List 对象,但是我将如何在 html 上显示它,因为 html 无法呈现 java 集合。

如果我误解了流程或基本概念,请纠正我。

谢谢。

最佳答案

您可以使用 ajax(使用 jQuery 会很容易)来调用您的 Servlet

function callMe(){
$.ajax({
type: "POST",
url: "/someServlet",
data: { param1: "val1" , param2: "val2" }
}).done(function( data) {
//TODO
});
}

现在在 Servlet 上,在 doPost() 中,使用 Gson 为您的集合生成 JSON 表示

String parameter1 = request.getParameter(param1);
String parameter2 = request.getParameter(param2);
//call to service to generate the collection
//for example List<Employee>
List<Employee> employees = someService(parameter1, parameter2);
//using google's gson
Gson gson = new Gson();
String json = new Gson().toJson(employees);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);

现在我们在 javascript 函数中将响应作为一个 javascript 对象数组,所以将其修改为

    }).done(function( data) {
//some processing for display
var len = data.length
for (var i=0; i<len; ++i) {
var employeeFirstName = data[i].firstName;
var employeeLastName = data[i].lastName;
//set it to some DIV, or do the processing you want
}
}

});

另见

关于java - jsp显示后在jsp中显示java列表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11114544/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com