gpt4 book ai didi

java - 将 JsonArray 的类型从 Action 返回到具有多个 JSONArray 对象的 JSP?

转载 作者:搜寻专家 更新时间:2023-11-01 03:38:46 24 4
gpt4 key购买 nike

我有一个 JSONArray,它有 2 个 JSONArray 对象,我从 Action 返回到 JSP。但是在 JSP 中,它会在从 Action 收到的响应中抛出错误。但是我无法跟踪问题。求各位指点。

Action 代码:

try
{
Class<EmployeePojo> objClass= EmployeePojo.class;
Field[] methods = objClass.getDeclaredFields();
columnJsonArrayObject=FormatDatesAndMethods.methodsData(methods);
masterDataJsonArrayObject=new JSONArray();
String query="from EmployeePojo";
employeeList= factoryImplObject.searchByQuery(query);
if(employeeList!=null)
{
for(int j=0;j<methods.length;j++)
{
for(int i=0;i<employeeList.size();i++)
{
masterDataColumnValuesJsonObject=new JSONObject();
if((employeeList.get(i)).getWorkshopId()!=null)
{
masterDataColumnValuesJsonObject.put(""+methods[0].getName()+"", employeeList.get(i).getId());
}
else
{
masterDataColumnValuesJsonObject.put(""+methods[0].getName()+"", "");
}
if((employeeList.get(i)).getWorkshopName()!=null)
{
masterDataColumnValuesJsonObject.put(""+methods[1].getName()+"", employeeList.get(i).getName());
}
else
{
masterDataColumnValuesJsonObject.put(""+methods[1].getName()+"", "");
}
if((employeeList.get(i)).getDivId()!=null)
{
masterDataColumnValuesJsonObject.put(""+methods[2].getName()+"", employeeList.get(i).getJivId());
}
else
{
masterDataColumnValuesJsonObject.put(""+methods[2].getName()+"", "");
}
if((employeeList.get(i)).getHqId()!=null)
{
masterDataColumnValuesJsonObject.put(""+methods[3].getName()+"", employeeList.get(i).getPlace());
}
else
{
masterDataColumnValuesJsonObject.put(""+methods[3].getName()+"", "");
}
masterDataColumnValuesJsonObject.put("Old", "old");
masterDataJsonArrayObject.put(masterDataColumnValuesJsonObject);
}
break;
}
masterObject.put(0,columnJsonArrayObject);
masterObject.put(1, masterDataJsonArrayObject);
if(masterObject!=null)
{
out.write(masterObject.toString);
}
}
}
catch(Exception e)
{
}

JSP代码

function values()
{
var values=
{
url:"metaData.do?actionMethod=loadMasterData",
handleAs:'json',
content:parameter,
load: function(response)
{

alert("working");

},
error: function(data)
{
alert("Error occured while fetching data");
},
timeout: 3000,
sync: true
};
dojo.xhrPost(values);
}

问题是我没有从 Action 获得正确的响应,因此在 jsp 中弹出错误警报 Error occurred while fetch data

最佳答案

我发现您从 Action To JSP 返回的 JSONArray 对象没有任何问题。尝试通过

返回 JSONArrayObject
out.println(masterObject.toString);

如果还是不行我觉得有一些垃圾数据正在从 Action 传输到 JSP。尝试 debuggingPrinting 您的操作方法中的 System.out.println 可能会让您知道 JSONArrayObject< 中的数据 从 Action 转移到 JSP。如果还有问题? .如果您使用的是 Struts/Springs(您应该提到)之类的框架,请检查控件是否已传递给您的 Controller 类,如果控件未传递。您的 XML 文件应该存在一些问题,从控制传递的位置(例如:Struts.xml 在 Struts 2 的情况下)到 Action 类。

关于java - 将 JsonArray 的类型从 Action 返回到具有多个 JSONArray 对象的 JSP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20741166/

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