user/list.jsp
用户列表
var pageNumber = 1;
var pageSize = 10;
var base = '<%=request.getAttribute("base")%>';
function user_reload() {
$.ajax({
url : base + "/user/query",
data : $("#user_query_form").serialize(),
dataType : "json",
success : function(data) {
console.log(data);
$("#user_count").html("共"+data.pager.recordCount+"个用户, 总计"+data.pager.pageCount+"页");
var list_html = "";
console.log(data.list);
for (var i=0;i<data.list.length;i++) {
var user = data.list[i];
console.log(user);
var tmp = "\n" + user.id + " " + user.name
+ " 修改 "
+ " 删除 "
+ "";
list_html += tmp;
}
$("#user_list").html(list_html);
}
});
}
$(function() {
user_reload();
$("#user_query_btn").click(function() {
user_reload();
});
$("#user_add_btn").click(function() {
$.ajax({
url : base + "/user/add",
data : $("#user_add_form").serialize(),
dataType : "json",
success : function(data) {
if (data.ok) {
user_reload();
alert("添加成功");
} else {
alert(data.msg);
}
}
});
});
});
function user_update(userId) {
var passwd = prompt("请输入新的密码");
if (passwd) {
$.ajax({
url : base + "/user/update",
data : {"id":userId,"password":passwd},
dataType : "json",
success : function (data) {
if (data.ok) {
user_reload();
alert("修改成功");
} else {
alert(data.msg);
}
}
});
}
};
function user_delete(userId) {
var s = prompt("请输入y确认删除");
if (s == "y") {
$.ajax({
url : base + "/user/delete",
data : {"id":userId},
dataType : "json",
success : function (data) {
if (data.ok) {
user_reload();
alert("删除成功");
} else {
alert(data.msg);
}
}
});
}
};
条件
页数
每页
查询
---------------------------------------------------------------
</div>
---------------------------------------------------------------
用户名
密码
新增
@IocBean // 还记得@IocBy吗? 这个跟@IocBy有很大的关系哦
@At("/user")
@Ok("json:{locked:'password|salt',ignoreNull:true}")//密码和salt也不可以发送到浏览器去 忽略空值
@Fail("http:500")
@Filters(@By(type=CheckSession.class, args={"me", "/"}))
public class UserModule {
@Inject
protected Dao dao; // 就这么注入了,有@IocBean它才会生效
@At
public int count(){
return dao.count(User.class);
}
@At
@Filters()//login方法设置为空的过滤器,不然就没法登陆了
public Object login(@Param("username")String name, @Param("password")String password, HttpSession session){
User user = dao.fetch(User.class, Cnd.where("name", "=", name).and("password", "=", password));
if (user == null) {
return false;
} else {
session.setAttribute("me", user.getId());
return true;
}
}
@At
@Ok(">>:/")
public void logout(HttpSession session) {
session.invalidate();
}
protected String checkuser(User user ,boolean create){
if(user == null){
return "对象为空";
}
if(create){
if(Strings.isBlank(user.getName())||Strings.isBlank(user.getPassword())){
return "用户或者密码不能为空";
}
}else{
if(Strings.isBlank(user.getPassword())){
return "密码不能为空";
}
}
String password =user.getPassword().trim();
if(6>password.length()||password.length()>12)
return "密码长度不对";
user.setPassword(password);
if(create){
int cnt=dao.count(User.class,Cnd.where("name","=",user.getName()));
if(cnt !=0){
return "用户名已存在";
}else{
if(user.getId()<0){
return "用户标识错误";
}
}
}
if(user.getName()!=null)
user.setName(user.getName().trim());
return null;
}
@At
public Object add(@Param("..")User user){
NutMap re=new NutMap();
//增加用户前先校验
String msg =checkuser(user,true);
//如果存在,弹出提示
if(msg !=null){
return re.setv("ok",false).setv("msg",msg);
}
user.setCreateTime(new Date());
user.setUpdateTime(new Date());
user =dao.insert(user);
return re.setv("ok",true).setv("data",user);
}
@At
public Object update(@Param("..")User user){
NutMap re=new NutMap();
String msg=checkuser(user,false);
if(msg !=null){
return re.setv("ok",false).setv("msg",msg);
}
user.setName(null);
user.setCreateTime(null);
user.setUpdateTime(new Date());
dao.updateIgnoreNull(user);//只更新密码和Salt
return re.setv("ok",true);
}
@At
public Object delete(@Param("id")int id,@Attr("me")int me ){
NutMap re=new NutMap();
if(me==id){
return re.setv("ok",false).setv("msg","不能删除当前用户");
}
dao.delete(User.class,id);//再严谨一些的话,需要判断是否为>0
return re.setv("ok",true);
}
@At
public Object query(@Param("name")String name,@Param("..")Pager pager){
Cnd cnd=Strings.isBlank(name)?null:Cnd.where("name","like","%"+name+"%");
QueryResult qr=new QueryResult();
qr.setList(dao.query(User.class,cnd,pager));
pager.setRecordCount(dao.count(User.class,cnd));
qr.setPager(pager);
return qr;//默认分页是第1页,每页20条
}
@At("/")
@Ok("jsp:jsp.user.list") // 真实路径是 /WEB-INF/jsp/user/list.jsp
public void index() {
}