struct2中json配置ajax
2015-05-23 13:07
204 查看
struct2中json配置ajax
原先在网上看到用jsonplugin-0.34.jar来处理的,可是由于自己的项目是在原有的基础上,导致报错 java.lang.NoClassDefFoundError com/opensymphony/xwork2/util/TextUtils 的错误,网上查询后得知是struct版本和json的版本不一致的问题导致的。首先我的项目使用的是struct2.3.1的版本,因此需要在下载相关版本的插件,在网上看到一仁兄的解决方案:
解决方法:去掉jsonplugin-0.34.jar,使用struts2-json-plugin-2.3.1.jar 和 json-lib-2.3-jdk15.jar,struts2-junit-plugin-2.3.1.jar三个包
上面的插件下载 访问这里吧 http://central.maven.org/maven2/org/apache/struts/
使用这三个包终于走通了整个流程,现在贴上代码吧!
首先在action中定义了一个方法,如下:
[php] view
plaincopy
<span style="WHITE-SPACE: pre"> </span>/**
<span style="WHITE-SPACE: pre"> </span> * AJAX 输出
<span style="WHITE-SPACE: pre"> </span> */
<span style="WHITE-SPACE: pre"> </span>private String result;
<span style="WHITE-SPACE: pre"> </span>public String getResult() {
<span style="WHITE-SPACE: pre"> </span>return result;
<span style="WHITE-SPACE: pre"> </span>}
<span style="WHITE-SPACE: pre"> </span>public void setResult(String result) {
<span style="WHITE-SPACE: pre"> </span>this.result = result;
<span style="WHITE-SPACE: pre"> </span>} public String deleteStore() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
String storeID = request.getParameter("storeID");
// 用一个Map做例子
Map<String, String> map = new HashMap<String, String>();
// 为map添加一条数据,记录一下页面传过来loginName
map.put("name", "sdfsfsfd");
map.put("age", "20");
map.put("storeID", storeID);
// 将要返回的map对象进行json处理
JSONObject jo = JSONObject.fromObject(map);
// 调用json对象的toString方法转换为字符串然后赋值给result
this.result = jo.toString();
// 可以测试一下result
System.out.println(this.result);
return "delSuccess";
}
然后是struct的配置:
[html] view
plaincopy
<package name="storeManage" extends="<strong>json-default</strong>" namespace="/advsimplestore">
<action name="storeManage" class="com.tc.blacktea.adv.action.StoreSimpleAction" method="deleteStore">
<interceptor-ref name="json" />
<result name="delSuccess"<strong> type="json"</strong>>
<param name="result">result</param>
</result>
</action>
</package>
接着我们来看前端的JS代码,这里我采用的是jquery来编写的ajax代码:
我原先在项目为了测试,在表格的列表中每行有个删除按钮,点击出发ajax删除操作的,大家要自己测试的话需要自己稍微改下js代码。
[javascript] view
plaincopy
jQuery(document).ready(function() {
jQuery('#table .delLink').click(function() {
if (confirm('确定删除本条数据吗?')) {
var storeID = jQuery(this).attr('J_ID');
var dataParam = {
"storeID" : storeID
};
jQuery.ajax({
url : "storeManage!deleteStore.action",
cache : false,
type : "POST",
data : dataParam,
dataType : "text",
success : function(data) {
alert(data);
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
jQuery("#errorContain").html(XMLHttpRequest.responseText);
}
});
}
});
});
相关文章推荐
- struct2中json配置ajax
- VS2013利用ajax访问不了json文件——VS2013配置webconfig识别json文件
- VS2013利用ajax访问不了json文件——VS2013配置webconfig识别json文件
- maven项目ssh框架 ajax返回json对象xml配置
- SSH框架,AjaxJson显示数据,项目框架搭建;注意action跳转不用叹号,springMVC和springAnnotation要修改spring配置文件
- java 实现自动编译成json struts2 中不用配置json等jar包来实现低耦合,低入侵式ajax访问返回数据
- 如何在struts2中使用、配置ajax,json?sx:datetimepicker无法显示日历
- ajax和json的post和get请求参数配置
- 配置ajax请求springmvc返回json格式数据
- ztree通过ajax加载json数据中文乱码的解决方法:springmvc配置
- Spring MVC 4 配置ajax请求返回json数据的问题
- Struts2+jQuery+Json零配置实现ajax
- Struts2+jQuery+Json零配置实现ajax
- IE执行ajax时,返回JSON出现下载时怎么解决,需要配置
- Struts2.2配置json+ajax实现三级联(任意级联)下拉列表框。
- struts2的配置解释以及使用ajax、创建传输json的两种方式
- 精华--ssm框架前后端使用AJAX传输json数据配置详解
- java 实现自动编译成json struts2 中不用配置json等jar包来实现低耦合,低入侵式ajax访问返回数据
- 关于springMVC 4.x配置ajax-json 出现406错误的问题。
- Spring Mvc ajax和json数据格式的配置