在很多情况下我们的项目都有异步刷新,那么在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>
可以直接看第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>