您的位置:首页 > 编程语言 > Java开发

struts2怎么设置action返回Json数据

2016-03-30 17:04 239 查看
在很多情况下我们的项目都有异步刷新,那么在Struts2中怎么才能让你的Action 返回视图呢?

可以直接看第3步

将struts2-json-plugin-2.3.16.3.jar文件拷贝到Web应用的WEB-INF/lib路径下。

如果你是使用MyEclipse导入的Struts2jar包就不需要了,为什么?因为里面有。

1.页面使用ajax请求action,action返回JSON数据

<script src="js/jquery-1.8.1.js"></script><!--引入jQuery-->

<script>

$(function(){

$("#txtNo").blur(function(){

$.ajax({

url:"reg.action",

type: "post", //请求方法

data:"account="+$("你要取的表单ID").val(),

dataType:"json",//返回json的数据格式

success:function(data){//操作成功后执行的回调函数

$.each(data, function (index, item) { //循环遍历data集合

alert(item);

}); }}); });

});

</script>

2.在action中写法,和以前的action没有大的区别

package com.sun.action;

public class RegAction {

private String name;

private String msg;//装返回的消息

public String reg()

{

if(name.equals("admin"))

{

msg="用户已经注册";

}else{

msg="用户名可以使用";

}

return "yes";

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getMsg() {

return msg;

}

public void setMsg(String msg) {

this.msg = msg;

}

}

3.修改sruts.xml是重点,

<!--package不在继承默认的struts-default,你需要重新定义一个package标签,

有人问怎么访问action呢,加个namespace="/"起个名字-->

<package name="jsonPlugin" extends="json-default">

<action name="reg" class="com.sun.action.RegAction" method="reg">

<!--需要设置视图的类型-->

<result type="json" name="yes">

<!—判断Action中的哪些属性需要转换为JSON数据格式-->

<param name="includeProperties">errorMsg</param>

<param name="root">返回根数据(完整数据)</param>

</result>

</action>

</package>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: