【发布时间】:2014-01-11 12:45:54
【问题描述】:
我有一个 JSONArray,它有 2 个 JSONArray 对象,我从 Action 返回到 JSP。但是在 JSP 中,它会在从 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 中弹出错误警报 在获取数据时发生错误
【问题讨论】:
-
控制台是否提供有关错误的任何其他信息? (顺便说一句,为什么要使用纯 js 进行 ajax 操作?这真的很麻烦。)
-
我在动作类中没有发现错误。但是在 JSP 中它会提示一个对象错误。
-
哦,你正在使用道场。别介意旁注。所以这是服务器端的错误?尝试打印堆栈跟踪。
-
你能在你的 JSP 中用 System.out 或 log.debug() 语句打印出 masterObject.toString() 吗?
标签: java javascript json jsp