当前位置: 代码迷 >> Java Web开发 >> extjs访问不到struts2 action,该怎么解决
  详细解决方案

extjs访问不到struts2 action,该怎么解决

热度:49   发布时间:2016-04-16 22:25:05.0
extjs访问不到struts2 action
action

package com.cz.action;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.cz.entity.Admin;
import com.cz.service.AdminService;
import com.opensymphony.xwork2.ActionSupport;

public class AdminAction extends ActionSupport {
private AdminService adminService=null;
private int id;
private Admin admin;
private List ar;
private Map responseJson; 

public Map getResponseJson() {
return responseJson;
}
public void setResponseJson(Map responseJson) {
this.responseJson = responseJson;
}
public List getAr() {
return ar;
}
public void setAr(List ar) {
this.ar = ar;
}
public AdminService getAdminService() {
return adminService;
}
public void setAdminService(AdminService adminService) {
this.adminService = adminService;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Admin getAdmin() {
return admin;
}
public void setAdmin(Admin admin) {
this.admin = admin;
}

public String all(){
System.out.println("1111111111111111111111111111111");
Map<String, Object> map = new HashMap<String, Object>();  
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();  
ar=adminService.getAllAdmin();
for(int i=0;i<ar.size();i++){
 Map<String, Object> m = new HashMap<String, Object>();  
 m.put("Id", ((Admin)ar.get(i)).getId());
 m.put("UserName", ((Admin)ar.get(i)).getUserName());
 m.put("Password", ((Admin)ar.get(i)).getPassword());
 m.put("Sex", ((Admin)ar.get(i)).getSex());
 m.put("Birthday", ((Admin)ar.get(i)).getBirthday());
 list.add(m);
}
map.put("rows", list);  
        map.put("totalCont",ar.size());
        this.setResponseJson(map);  

return null;
}

}



<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//E" "http://struts.apache.org/dtds/struts-2.0.dtd" >
<struts>
<package name="admin" extends="json-defaule" namespace="/admin">
<action name="admin_*" class="adminAction" method="{1}">
  <result name="alladmin" type="json">
          <param name="root">responseJson</param>  
          </result>
</action>
</package>
</struts>


extJs MVC的store

Ext.define('MyApp.store.CarDataStore', {
    extend: 'Ext.data.Store',

    requires: [
        'MyApp.model.CarData'
    ],

    constructor: function(cfg) {
        var me = this;
        cfg = cfg || {};
        me.callParent([Ext.apply({
            autoLoad: true,
            model: 'MyApp.model.CarData',
            storeId: 'MyJsonStore',
            proxy: {
                type: 'ajax',
                url: "/admin_all.action",
                reader: {
                    type: 'json',
                    root:"datas"
                }
            }
        }, cfg)]);
    }
});

然后找不到action

------解决方案--------------------
估计你strtus。xml都没加载。extends="json-defaule"这明显是个拼写错误,都没检查出来。
  相关解决方案