Extjs的submit()方法提交的数据:如下:
this.formPanel.getForm().submit({
url:this.saveUrl,
method:‘POST‘,
params:{
flag:e
},
success:function(form,action){
Ext.MessageBox.alert(‘提示‘,action.result.msg,function(){
this.store.reload();
this.hide();
},this);
},
failure:function(form,action){
Ext.MessageBox.alert(‘提示‘,action.result.msg);
},
scope:this
});
Extjs的Ajax方法提交的数据以及返回的结果如下:
Ext.MessageBox.confirm(‘提示‘,‘确定置顶当前制度‘,function(button){
if(button==‘yes‘){
Ext.Ajax.request({
url:this.isTopOrNotUrl,
method:‘POST‘,
params:{
rulesId:record.data.rulesId
},
success:function(response,options){
var text = Ext.decode(response.responseText);
Ext.Msg.alert(‘提示‘,text.msg,function(){
this.store.reload();
},this);
},
failure:function(){
Ext.Msg.alert(‘提示‘,‘请求失败!‘);
},
scope:this
});
}
},this);
后台修改或者删除完了,能够返回给前台Java代码后台写好的数据,因为封装了一个ExtReturn类型:如下:
package cn.edu.hbcf.common.vo;
/**
* Ext Ajax 返回对象
*
* @author LiPenghui
* @date 2012-02-21 19:30:00
*
*/
public class ExtReturn {
private boolean success; // 是否成功
private Object msg; // 返回消息
private Object otherObject;// 其他对象
public ExtReturn() {
}
/**
* 是否更新成功的构造方法
*
* @param success
* 是否成功
* @param msg
* 消息
*/
public ExtReturn(boolean success, Object msg) {
this.success = success;
this.msg = msg;
this.otherObject = "";
}
/**
* 是否更新成功的构造方法
*
* @param success
* 是否成功
* @param msg
* 消息
* @param otherObject
* 其他对象
*/
public ExtReturn(boolean success, Object msg, Object otherObject) {
this.success = success;
this.msg = msg;
this.otherObject = otherObject;
}
/**
* 异常时的构造函数
*
* @param errormsg
* 异常消息
*/
public ExtReturn(Object errormsg) {
this.success = false;
this.msg = false;
this.otherObject = "";
}
/**
* 判断是否成功
*
* @return
*/
public boolean isSuccess() {
return success;
}
/**
* 设置返回是否成功的状态
*
* @param success
*/
public void setSuccess(boolean success) {
this.success = success;
}
/**
* 设置其他对象
*
* @return
*/
public Object getOtherObject() {
return otherObject;
}
/**
* 获取其他对象
*
* @param otherObject
*/
public void setOtherObject(Object otherObject) {
this.otherObject = otherObject;
}
/**
* 获取返回的消息
*
* @return
*/
public Object getMsg() {
return msg;
}
/**
* 设置返回的消息
*
* @param msg
*/
public void setMsg(Object msg) {
this.msg = msg;
}
}
controller中直接调用即可,如下:
@RequestMapping(value="/isTopOrNotUrl",method=RequestMethod.POST)
@ResponseBody
public ExtReturn isTopOrNotUrl(HttpSession session,BaseRules baseRules){
BaseUsers u = (BaseUsers) session.getAttribute(WebConstants.CURRENT_USER);
baseRules.setIsTop(1);
baseRules.setUpdateUser(u);
baseRules.setUpdateTime(new Date());
try {
baseRulesService.isTopOrNotUrl(baseRules);
return new ExtReturn(true,"置顶成功");
} catch (Exception e) {
e.printStackTrace();
return new ExtReturn(false,"置顶失败");
}
}
mybatis中的xml如下:
<update id="isTopOrNotUrl" parameterType="cn.edu.hbcf.plugin.sms.baseRules.pojo.BaseRules">
update SMS_BASE_RULES t
set t.UPDATE_USER = #{updateUser.userId,jdbcType=VARCHAR},
t.UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP},
t.IS_TOP = #{isTop,jdbcType=INTEGER}
<where>
t.RULES_ID = #{rulesId, jdbcType=VARCHAR}
</where>
</update>
很简单的封装,接收数据方便多了