javaweb增删改遇到的问题_java怎么往map里面放数据「建议收藏」

javaweb增删改遇到的问题_java怎么往map里面放数据「建议收藏」packagecom.zdwang.nutzbook.module;importjava.util.Date;importjavax.servlet.http.HttpSession;importcom.zdwang.

javaweb增删改遇到的问题_java怎么往map里面放数据「建议收藏」

package com.zdwang.nutzbook.module;

import java.util.Date;

import javax.servlet.http.HttpSession;

import com.zdwang.nutzbook.bean.User;

import org.nutz.dao.Cnd;

import org.nutz.dao.Dao;

import org.nutz.dao.QueryResult;

import org.nutz.dao.pager.Pager;

import org.nutz.ioc.loader.annotation.Inject;

import org.nutz.ioc.loader.annotation.IocBean;

import org.nutz.lang.Strings;

import org.nutz.lang.util.NutMap;

import org.nutz.mvc.annotation.At;

import org.nutz.mvc.annotation.Attr;

import org.nutz.mvc.annotation.By;

import org.nutz.mvc.annotation.Fail;

import org.nutz.mvc.annotation.Filters;

import org.nutz.mvc.annotation.Ok;

import org.nutz.mvc.annotation.Param;

import org.nutz.mvc.filter.CheckSession;

@IocBean //与 @IocBy有很大关系 声明为Ioc容器中的一个Bean

@At(“/user”)// 整个模块的路径前缀

//@Ok(“json”)

@Ok(“json:{locked:’password|salt’,ignoreNull:true}”)// 忽略password和salt属性,忽略空属性的json输出,使密码和salt不发送到浏览器去

@Fail(“http:500”)// 抛异常的话,走500页面

@Filters(@By(type=CheckSession.class, args={“me”, “/”}))//含义是,如果当前Session没有带me这个attr(属性),就跳转到/页面,即首页.

public class UserModule {

@Inject// 此处的注入,有@IocBean,它才会生效 注入同名的一个ioc对象

protected Dao dao;

//@At//count方法, 测试用

//public int count(){

//return dao.count(User.class);

//}

@At//登录

@Filters()//覆盖UserModule类的@Filter设置,因为登陆可不能要求是个已经登陆的Session,所以必须为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();

}

@At//添加user

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);// 真正更新的其实只有password和salt

return re.setv(“ok”, true);

}

@At// 删除

public Object delete(@Param(“id”)int id, @Attr(“me”)int me) {// @Attr是取Session/Request中的me属性

if (me == id) {

return new NutMap().setv(“ok”, false).setv(“msg”, “不能删除当前用户!!”);

}

dao.delete(User.class, id); // 再严谨一些的话,需要判断是否为>0

return new NutMap().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;// 默认分页是第一页,每页20条

}

@At(“/”)

@Ok(“jsp:jsp.user.list”) // 真实路径是 /WEB-INF/jsp/user/list.jsp

public void index() {

}

//校验用户

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 passwd = user.getPassword().trim();

if (6 > passwd.length() || passwd.length() > 12) {

return “密码长度有误”;

}

user.setPassword(passwd);

if (create) {

int count = dao.count(User.class,Cnd.where(“name”, “=”, user.getName()));

if (count != 0) {

return “用户名已存在”;

}

}else{

if (user.getId() < 1) {

return “用户ID非法”;

}

}

if(user.getName() != null)

user.setName(user.getName().trim());

return null;//即最后返回null的话,是符合校验添加的

}

}

就是这里面的增删改在返回值时,用到了NutMap().setv()的方法,有点看不懂

今天的文章javaweb增删改遇到的问题_java怎么往map里面放数据「建议收藏」分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/89180.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注