一、返回json数据
1、官网文档:https://struts.apache.org/plugins/json/
2、引入插件包:struts2-json-plugin-2.3.37.jar
3、在struts.xml中配置
<package name="json" extends="struts-default,json-default">
<!-- name:url访问路径 class:对应类 method:对应方法 -->
<action name="success" class="com.bjx.action.UserAction" method="getRow">
<!-- type:返回json类型的数据 name:对应action中的return "success" -->
<result type="json" name="success">
<!-- name:root是固定值,代表只返回result这个数据,result这个变量必须有getter方法 -->
<param name="root">result</param>
</result>
</action>
</package>
二、struts2传递参数的四中方式
1、对于url参数:定义私有成员变量并生成setter方法,可以没有getter方法,私有成员变量名要和传递的参数名称一致,这种方式一定不能这样实现 ModelDriven<User>,这样就表示只能接受User对象信息,如果是url传递的id就就收不到,可以ModelDriven<Object>,这时url传递的id可以收到了,但是如果还有表单提交了
用户信息User,那使用Object又不好接收了
2、使用ServletActionContext.getRequest().getParameter("id")
3、就是1中提到的 implements ModelDriver
4、对于表单提交:可以在表单中指定name属性:name="user.name" name="user.address",在action中定义私有变量user,并生成getter、setter方法,可以通过在
getter、setter方法中打印可知,表单提交的信息会被多次getter、然后进行一次setter