[英]Return Type for JsonArray from Action to JSP having multiple JSONArray Objects?
我有一個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中的錯誤警告popsup在獲取數據時出現錯誤
我沒有發現從Action To JSP返回的JSONArray對象的任何問題 。 嘗試通過返回JSONArrayObject
out.println(masterObject.toString);
如果仍然無法正常工作,我覺得有一些垃圾數據從Action
轉移到JSP
。 嘗試debugging
或Printing
操作方法中的System.out.println
,這可能會讓您知道JSONArrayObject
中從Action轉移到JSP的數據。 如果還有問題? 。 如果你正在使用像Struts / Springs這樣的框架( 你應該提到它 ),請檢查控件是否已傳遞給控制器類,如果控件沒有通過。 從控件傳遞的XML文件( 例如:Struts 2中的Struts.xml )到Action類應該存在一些問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.