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;
}