想在struts中傳回一個物件的json數據,透過定義
結果傳回的是整個action類別的所有成員變數的json資料。若要傳回userInfo物件的數據,需要將回傳參數定義為root對象
下面是傳回各種json資料的定義
<!-- 只包含user.id屬性-->
<result type="json" name="user">
<param name="includeProperties">
user/.id
</param>
</result>
<!-- 傳回user的JSON List列表,其中userInfosList是action中的一個List類型的屬性,userInfosList /[/d+/]/. userName表示,userInfosList中儲存的物件0..end的userName屬性(list中儲存的物件必須有userName屬性)
-->
<result name="success" type="json">
<param name="includeProperties">
userInfosList/[/d+/]/.userName,userInfosList/[/d+/]/.password
</param>
</result>
<!-- 不包含user屬性-->
<result type="json" name="list">
<param name="excludeProperties">
user
</param>
</result>
<!-- 根物件只包含user -->
<result type="json">
<param name="root">
user
</param>
</result>
<!-- "root"物件中父類別的field(屬性)不會(會?) 預設存放到JSON資料中,如果不想這樣做,需要在配置時指定ignoreHierarchy 為false: -->
<result type="json">
<param name="ignoreHierarchy">false</param>
</result>