struts2使用json插件
首先,导入json插件的jar包
由于json-default继承自struts-default,故此处改写为继承 json-default
此处是action的配置信息
<action name="saveP" class="myaction.LoginAction" method="upD">
<!-- 返回json -->
<result name="success" type="json">
<!--配置root参数,指定将值栈哪个数据返回 -->
<param name="root">map</param>
</result></action>
接下来发送Ajax请求,检验返回结果
<script type="text/javascript">
var name;
function modiU(u){
$('#win').window('open')
name = u;
}
$(function(){
$('#btn2').click(function(){
$('#win').window('close')
})
$('#btn1').click(function(){
var pwd1 = $('#pw1').val()
var pwd2 = $('#pw2').val()
if($.trim(pwd1)==''||$.trim(pwd2)==''){
$.messager.alert('警告','密码不能为空!','warning')
return;
}else if(pwd1!=pwd2){
$.messager.alert('警告','两次密码不一致!','warning')
return;
}else{
//ajax异步处理
$.post("${pageContext.request.contextPath}/saveP.action",{"username":name,"password":pwd2},function(data){
if(data.result == "success"){
$.messager.alert('提示',data.msg,'info')
}else{
$.messager.alert('警告',data.msg,'warning')
}
});
$('#win').window('close')
}
})
})
</script>
服务器端响应代码
//更改密码
public String upD() throws Exception{
try {
//修改成功
UserDao.moDify(u.getUsername(), password);
Map<String,Object> map = new HashMap<String,Object>();
map.put("result", "success");
map.put("msg", "恭喜您,修改成功!");
ActionContext.getContext().put("map", map);
}catch (Exception e) {
//修改失败
Map<String,Object> map = new HashMap<String,Object>();
map.put("result", "failure");
map.put("msg", "对不起,您的密码修改失败!");
//压入值栈
ActionContext.getContext().put("map", map);
}
list=UserDao.getMany(); //获取全部用户
return SUCCESS;
}