使用PrintWriter对象将列表对象从Javaservlet发送到JSP?
在继续之前,我意识到几年前有一个类似的问题。我意识到可以将我试图传递的列表设置为会话属性,但出于好奇,我想知道是否可以使用PrintWriter对象将数据发送回JSP页面 JSP使用PrintWriter对象将列表对象从Javaservlet发送到JSP?,java,json,jsp,servlets,Java,Json,Jsp,Servlets,在继续之前,我意识到几年前有一个类似的问题。我意识到可以将我试图传递的列表设置为会话属性,但出于好奇,我想知道是否可以使用PrintWriter对象将数据发送回JSP页面 JSP 我还没有测试过上面的代码,但我只是想知道这似乎是解决我问题的最佳方案,还是我让它变得过于复杂了?也许对我的问题有一个简单得多的解决办法。我想你脑子里的事情搞砸了。首先,不能将文本或任何类型的数据从servlet发送到jsp。正确的方法是使用会话和或方法。但这将忽略之前对servlet的Writer对象进行的任何调用 我
我还没有测试过上面的代码,但我只是想知道这似乎是解决我问题的最佳方案,还是我让它变得过于复杂了?也许对我的问题有一个简单得多的解决办法。我想你脑子里的事情搞砸了。首先,不能将文本或任何类型的数据从servlet发送到jsp。正确的方法是使用会话和或方法。但这将忽略之前对servlet的Writer对象进行的任何调用 我想你脑子里的事情都搞砸了。首先,不能将文本或任何类型的数据从servlet发送到jsp。正确的方法是使用会话和或方法。但这将忽略之前对servlet的Writer对象进行的任何调用 是的,您可以将数据从Servlet发送回JSP页面,因为我已经这样做了。在JSP文件中,您可以包含HTML和JavaScript,因此可以使用JQuery.post(),它允许您指定要将数据发布到的Servlet,并在回调函数中指定,例如:…})。完成(函数(数据){var content=data[.json_identifier]$(“#result”).val(content);});您可以利用从Servlet获得的结果来填充html元素。是的,您可以将数据从Servlet发送回JSP页面,因为我已经这样做了。在JSP文件中,您可以包含HTML和JavaScript,因此可以使用JQuery.post(),它允许您指定要将数据发布到的Servlet,并在回调函数中指定,例如:…})。完成(函数(数据){var content=data[.json_identifier]$(“#result”).val(content);});您可以利用从Servlet获得的结果来填充html元素。
<script type="text/javascript">
function getEngineSchemes(engineID) {
$.get('SchemeTypeServlet', {
action: "getSchemes",
engineID: engineID
},
function(data, status){
}).fail(function() {
alert("Error obtaining schemes for engine with engine id: " + engineID);
});
}
</script>
</body>
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//Set type of response
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
//get parameters that may be passed from client to determine which methods should be called
String action = request.getParameter("action");
if(action.equalsIgnoreCase("getSchemesForEngine")) {
Integer engineID = Integer.parseInt(request.getParameter("engineID"));
List<String> schemeNames = getSchemeNamesForEngine(engineID);
response.getWriter(). //insert code to send object back to JSP
response.getWriter().flush();
}
response.setContentType("application/json");
JSONObject json = new JSONObject();
for(String name : schemeNames) {
json.put(engineID, name);
}
response.getWriter().write(json.toJSONString());
response.getWriter().flush();