只需在lib中添加jone.jar
web.xml配置核心Filter
<filter> <filter-name>Router</filter-name> <filter-class>rzy.action.Router</filter-class> </filter> <filter-mapping> <filter-name>Router</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
项目新建action目录,编写action一个POJO
public class User
{
public String list()
{
Map<String, Object> map = XUtil.getParameterMap();
XUtil.calljson("UserService.find", map);
return null;
}
}
新建service目录,编写service一个POJO
public class UserService
{
public Map<String, Object> find(Map<String, Object> map)
{
int total = 0;
List<Map<String, Object>> data = null;
Map<String, Object> result = new HashMap<String, Object>();
String sql1 = "select count(*) from users";
String sql2 = "select * from users";
Where where = Where.create();
where.add("id", ">", -1);
if (map != null && !map.isEmpty())
{
Object username = map.get("username");
Object state = map.get("state");
if (StringUtils.isNotBlank(ObjectUtils.toString(username)))
{
where.add("username", "like", username.toString().trim());
}
if (StringUtils.isNotBlank(ObjectUtils.toString(state)))
{
where.add("state", "=", state);
}
}
Object scalar = DBUtils.scalar(where.appendTo(sql1));
if (scalar != null)
{
total = Integer.valueOf(scalar.toString());
}
result.put("total", total);
if (total > 0)
{
where.orderby("id desc");
int page = Integer.valueOf(map.get("page").toString());
int pagesize = Integer.valueOf(map.get("pagesize").toString());
int pagecount = (total % pagesize == 0) ? (total / pagesize) : (total / pagesize + 1);
if (pagecount > 0)
{
page = (pagecount < page) ? pagecount : page;
}
data = DBUtils.pager(where.appendTo(sql2), page, pagesize);
result.put("page", page);
result.put("data", data);
}
return result;
}
}
启动服务器。浏览器输入http://localhost:8080/app/user/list
就可以看到响应的json数据