初学Ext,想做一个简单的登陆如下
loginForm.doAction('submit',{
url:'user.action',
method:'POST',
waitMsg:'正在登陆....',
success:function(form,action){
alert(action.result.msg);
var isSuc = action.result.success;
if(isSuc) { Ext.Msg.alert('消息', '登陆成功..'); };
},
failure:function(form, action){
alert('登陆失败');
}
})后台java登陆成功返回了数据的,但不知道前台怎么接收。上面的不对,怎么接收?
部分后台代码
public String userCheck()throws Exception{
User u = new User();
u.setUsername(info.getUsername());
u.setPassword(info.getPassword());
System.out.println("NAME :"+u.getUsername()+" password :"+u.getPassword());
if(userService.checkUserPassword(u))
return SUCCESS;
return "fail";
}
struts2 代码<action name="user" class="com.boco.web.action.UserAction" method="userCheck">
loginForm.doAction('submit',{
url:'user.action',
method:'POST',
waitMsg:'正在登陆....',
success:function(form,action){
alert(action.result.msg);
var isSuc = action.result.success;
if(isSuc) { Ext.Msg.alert('消息', '登陆成功..'); };
},
failure:function(form, action){
alert('登陆失败');
}
})后台java登陆成功返回了数据的,但不知道前台怎么接收。上面的不对,怎么接收?
部分后台代码
public String userCheck()throws Exception{
User u = new User();
u.setUsername(info.getUsername());
u.setPassword(info.getPassword());
System.out.println("NAME :"+u.getUsername()+" password :"+u.getPassword());
if(userService.checkUserPassword(u))
return SUCCESS;
return "fail";
}
struts2 代码<action name="user" class="com.boco.web.action.UserAction" method="userCheck">
要用response write出来不能直接return success
struts.xml中不需要配置resault了 只需要配置其对应的action就可以了
if(userService.checkUserPassword(u)){
response.getWriter().write('成功');//response哪来的 楼主你懂得
}
response.getWriter().write('失败')
public void GetPersonnelList(HttpServletResponse response){
System.out.println("获取员工列表!");
PersonnelDao dao = new PersonnelDao();
List list = dao.getPersonnelList();
try{
/*
* json 需要导入包:
* json-lib-2[1].2.2-jdk15.jar
* commons-collections.jar
* commons-digester.jar commons-lang.jar
* ezmorph-1[1].0.4.jar
* */
JSONArray jsonArray = JSONArray.fromObject(list);
sendJson(response, jsonArray.toString());
}catch(Exception e){
e.getMessage();
}
}
public void sendJson(HttpServletResponse response,String jsonStr){
PrintWriter out = null;
try{
out = response.getWriter();
out = response.getWriter();
System.out.println(jsonStr);
out.print(jsonStr);
out.flush();
out.close();
}catch(Exception e ){
e.printStackTrace();
}finally{
out.flush();
out.close();
}
}
Ext.Ajax.request({ //ajax异步请求后台
url: '/Extjs_Center/personnelAction.do?method=personnelList',
method:'post',
success:function(response,opt){
var data = response.responseText; //返回后台json数据
var results= Ext.decode(data);
store.proxy = new Ext.ux.data.PagingMemoryProxy(results); //PagingMemoryProxy() 一次性读取数据
store.load({params:{start:0,limit:13}}); //导入后数据显示
},
failure: function(){
Ext.Msg.alert("failure");
}
});
public void GetPersonnelList(HttpServletResponse response) 跟了参数,怎么找不到这个方法呀?要怎么设置呢?
在方法里边直接用这个
if(userService.checkUserPassword(u)){
response.getWriter().write('成功');//HttpServletResponse response 就这么直接用
}
response.getWriter().write('失败')