Struts2與json資料的互動
前段時間對Struts2和json資料的互動有些問題,雖然Struts2的確是有點舊,但是因為專案的原因,還是決定記錄一下,以免忘記。
這裡主要是記錄從後臺傳到前段的問題
一般分為兩種方法:
Struts.xml
1.
<action name="getJson" class="TestClass" method="getJson"></action>
public void getJson(){
HttpServletResponse response = ServletActionContext.getResponse();
Student student= new Student("23","Mary");
JsonObject json = JsonObject.fromObject(student);
PrintWriter out = response.getWriter();
out.write(json);
out.close();
}
這樣就可以直接將資料傳到前端
2.
<action name="getJson" class="TestClass" method="getJson">
<result type="json" name="success">
<param root>student</param>
</result>
</action>
如果<result>標籤中沒有巢狀<param>,Struts2會將Action中的屬性都封裝成json資料
struts.xml 需要繼承json-default
private Student student;
public Student getStudent(){return student;}
public void setStudent(Student student){ this.student = student;}
public void getJson(){
student= new Student("23","Mary");
return SUCCESS;
}