Struts 2のJSONプラグイン


StrutsはJSONの形に戻ることができる。
文書
日本語の文書:http://webservices.ctocio.com.cn/tips/424/7670924.shtml
英語の文書:http://cwiki.apache.org/S2PLUGINS/json-plugin.html(詳細)
いくつか注意すべき点があります。
1:特定の属性を序列化しないと、getメソッドに@JSON(deserialize=false)、serialize=false)コメントを追加する必要があります。
2:struts 2.0カバンはjson-defaultを引き継がなければなりません。3:strutsはUTF-8に設定されています。<constant name=“struts.i 18 n.encoding”value=“UTF-8”/>
4:Modelのアクセス制御子はpublicの、public static class Modelでなければなりません。
5:戻りタイプを設定する:json
<action name=「knowledgeAction」class=「KnowledgeAct」
            
入力されたJAVAオブジェクト:
List<Knowledge> knowledges = new ArrayList<Knowledge>();
  //    
  Knowledge knowledge = new Knowledge();
  knowledge.setInfoId("know1000");
  knowledge.setInfoTitle("infoTitle");
  knowledge.setCreatorId("creatorId1000");
  knowledge.setCreatorName("creatorName");
  knowledge.setCreateTime(new Date());
  knowledge.setAuditorId("auditorId1000");
  knowledge.setAuditorName("auditorName");
  knowledge.setAuditTime(new Date());
  knowledge.setStatus(300.2512);
  knowledge.setInfoType("infoType");
  knowledge.setCategoryId("categoryId1000");
  knowledge.setReadCount(29.23);
  knowledge.setInfoLevel(12.3);
  knowledge.setModifierId("modifierId1000");
  knowledge.setModifierName("modifierName");
  knowledge.setModifyTime(new Date());
  knowledges.add(knowledge);
出力するJSONオブジェクト
{"model":{"knowledges":
[
{"auditTime":"2008-10-20 17:52:48",
"auditorId":"auditorId1000",
"auditorName":"auditorName",
"categoryId":"categoryId1000",
"createTime":"2008-10-20 17:52:48","creatorId":"creatorId1000",
"creatorName":"creatorName",
"infoId":"know1000",
"infoLevel":12.3,
"infoTitle":"infoTitle",
"infoType":"infoType","modifierId":"modifierId1000","modifyTime":"2008-10-20 17:52:48","readCount":29.23,"status":300.2512}]}}