【发布时间】:2023-03-13 01:09:02
【问题描述】:
我有一个带有 java 脚本的 jsp 页面,它使用 out.println(obj) 显示所需的输出,但我想返回这个 'obj' 以便这些值可以在另一个 js 文件中使用。如何从jsp页面返回这个?
所以js文件是:
(function() {
document.addEventListener('DOMContentLoaded', function() {
var gridDiv = document.querySelector('#myGrid');
var gridOptions = {
columnDefs: [
{headerName: 'CLIENT_ACRONYM', field: 'CLIENT_ACRONYM'},
{headerName: 'ORDER_QTY', field: 'ORDER_QTY'},
]
};
new agGrid.Grid(gridDiv, gridOptions);
jsonLoad( function(data) {
gridOptions.api.setRowData(data);
});
});
})();
function jsonLoad(callback) {
var xhr = new XMLHttpRequest();
xhr.open('GET', '../output.json'); // by default async
xhr.responseType = 'json'; // in which format you expect the response to be
xhr.onload = function() {
if(this.status == 200) {// onload called even on 404 etc so check the status
callback(this.response);
}
};
xhr.onerror = function() {
console.log('loading data error');
};
xhr.send();
}
返回 Jsonarray 的 JSP 文件:
JSONArray jsonArray = new JSONArray(orderDetailsList1);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(jsonArray);
因此,我需要传递 jsp 文件返回的 JSOn 对象,而不是 js 文件中的 output.json。该怎么做?
【问题讨论】:
-
用它来保存你的值,
var myVar="<%out.println(obj);%>";现在在javascript中使用myVar。 -
jsp 中不应包含 java 代码。对 java 代码使用 servlet。使用会话属性临时存储小对象。
-
你想将值传递给什么?回到服务器:使用一个表单,到同一页面的不同jsp文件,只需设置变量,包含其他jsp即可。
-
@Kelvin 所以test.jsp需要返回json对象,我需要在sample.js中使用
-
@Rishaldevsingh 以及如何在我的 sample.js 文件中使用它?