1. 程式人生 > >Struts2與json資料的互動

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;

}