Struts2 JsonPlugin
摘要:struts2-jsonplugin的简单应用
背景啰嗦:编写ajax时候经常需要通过json格式从后台获取数据,如果每次都自己写代码把类转化成json,那是很麻烦的,因此,json plugin就出现了,它自动帮我们把类转化成json传给浏览器。
json plugin在Struts2.1.2之后就被集成进去了。
用法挺简单的,前提条件当然是需要的jar都被放到lib文件夹了。然后在struts2的xml配置文件中。。不同之处就是extend和返回格式的地方。
<package name="model_json" extends="json-default"> <action name="getModelList" class="getModelListAction"> <result type="json"/> </action> </package>
json plugin可以通过xml配置,也可以通过注解,xml配置在文末的网址中就有了。
注解,我只用到了@JSON(serialize=false)【表示该类不转化成json】,其它还有name等。其它听说可以通过root属性来配置返回的json的根,目前还没弄%>_<%
package com.ids.action; import java.util.List; import java.util.Map; import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.ServletActionContext; import org.apache.struts2.json.annotations.JSON; import org.springframework.context.annotation.Scope; import org.springframework.stereotype.Controller; import com.ids.dto.ModelListDto; import com.ids.service.ModelManager; import com.opensymphony.xwork2.ActionSupport; @Scope("prototype") @Controller public class GetModelListAction extends ActionSupport { private ModelManager modelManager; private List<ModelListDto> model_list; public List<ModelListDto> getModel_list() { return model_list; } public void setModel_list(List<ModelListDto> model_list) { this.model_list = model_list; } @JSON(serialize=false) public ModelManager getModelManager() { return modelManager; } @Resource public void setModelManager(ModelManager modelManager) { this.modelManager = modelManager; } @Override public String execute() throws Exception { this.model_list = modelManager.getModelList(); return SUCCESS; } }
public class ModelListDto { private Integer id; private String name; .....省略getter和setter }
这样得到的json是
{"model_list":[{"id":7,"name":"Car"},{"id":20,"name":"quan"}]}
如果错误的地方,希望您能留言说明,不胜感激!
参考网址:
官网英文:http://struts.apache.org/2.2.1.1/docs/json-plugin.html
中文翻译:http://unmi.cc/struts2-json-plugin-guide
转载请注明: 转载自http://jyd.me/
本文链接地址: Struts2 JsonPlugin
- centos6单网卡配置多ip
- Eclipse快捷键大全(转载)