easyui+struts2:datagrid无法访问到指定action:
userlist.jsp部分代码:
<script type="text/javascript" src="libs/easyui-1.3.5/jquery.min.js"></script>
<script type="text/javascript" src="libs/easyui-1.3.5/jquery.easyui.min.js"></script>
<script type="text/javascript" src="libs/easyui-1.3.5/locale/easyui-lang-zh_CN.js"></script>
<link rel="stylesheet" type="text/css" href="libs/easyui-1.3.5/themes/default/easyui.css" >
<link rel="stylesheet" type="text/css" href="libs/easyui-1.3.5/themes/icon.css">
<script type="text/javascript">
$(function() {
$('#mydatagrid').datagrid({
title : '用户管理',
iconCls : 'icon-ok',
width : 600,
pageSize : 5,//默认选择的分页是每页5行数据
pageList : [ 5, 10, 15, 20 ],//可以选择的分页集合
nowrap : true,//设置为true,当数据长度超出列宽时将会自动截取
striped : true,//设置为true将交替显示行背景。
collapsible : true,//显示可折叠按钮
toolbar:"#tb",//在添加 增添、删除、修改操作的按钮要用到这个
url:'userList.action',//url调用Action方法
loadMsg : '数据装载中......',
singleSelect:true,//为true时只能选择单行
fitColumns:true,//允许表格自动缩放,以适应父容器
//sortName : 'xh',//当数据表格初始化时以哪一列来排序
//sortOrder : 'desc',//定义排序顺序,可以是'asc'或者'desc'(正序或者倒序)。
remoteSort : false,
frozenColumns : [ [ {
field : 'user',
checkbox : true
} ] ],
pagination : true,//分页
rownumbers : true//行数
});
});
<table id="mydatagrid">
<thead>
<tr>
<th data-options="field:'user',width:100,align:'center'">用户名</th>
<th data-options="field:'name',width:100,align:'center'">姓名</th>
</tr>
</thead>
</table>
struts.xml配置:
<action name="userList" class="com.xforce.login.action.UserListAction" method="getUsers">
<result type="json" >
<param name="root">rows</param>
</result>
</action>
</package>
UserListAction.java代码:
package com.xforce.login.action;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.hibernate.engine.spi.RowSelection;
import com.opensymphony.xwork2.ActionSupport;
import com.xforce.login.dao.impl.UserDaoImpl;
import com.xforce.login.entity.User;
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONObject;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import com.xforce.login.entity.User;
import com.xforce.login.dao.UserDao;
import com.xforce.login.dao.impl.UserDaoImpl;
public class UserListAction extends ActionSupport {
private JSONObject rows = new JSONObject();
public String getUsers() throws Exception{
UserDaoImpl udi = new UserDaoImpl();
List<User> users = udi.listUser();
HashMap<String, Object> maps = new HashMap<String, Object>();
List<HashMap<String, Object>> list = new ArrayList<HashMap<String, Object>>();
for (User user :users) {
HashMap<String, Object> hashMap = new HashMap<String, Object>();
hashMap.put("name",user.getName());
hashMap.put("user",user.getUser());
list.add(hashMap);
}
maps.put("Rows", list);
//rows = JSONObject.parseObject(JSON.toJSONString(maps));
rows = JSONObject.fromObject(maps);
System.out.println(rows);
return SUCCESS;
}
public JSONObject getRows() {
return rows ;
}
public void setRows(JSONObject rows) {
this.rows = rows;
}
}
调试时无法显示数据,在UserListAction中设置断点,发现未进入,(JSP页面利用LigerUI可正常访问UserListAction返回json显示数据),chrome调试审查元素,network中显示如下图: