package com.men.user;
import com.jfinal.aop.Before;
import com.jfinal.aop.Inject;
import com.jfinal.core.Controller;
import com.jfinal.plugin.activerecord.Record;
import com.men.common.model.User;
import java.util.List;
@Before(UserInterceptor.class)
public class UserController extends Controller
{
@Inject
UserService service = new UserService();
/**
* 主界面
*/
public void index()
{
if (getSession().getAttribute("loginUser") == null)
{
redirect("/");
} else
{
render("list.html");
}
}
/**
* 用户列表
*/
public void list()
{
setAttr("list", service.paginate(getParaToInt(0, 1), 5));
render("/user/list.html");
}
/**
* 添加学生
*/
public void add()
{
render("add.html");
}
public void save()
{
getModel(User.class).save();
redirect("/user/list");
}
/**
* 更新学生信息
*/
public void edit()
{
setAttr("user", service.findById(getPara()));
render("update.html");
}
public void update()
{
String id = getPara("user.id");
getModel(User.class).update();
redirect("/user/self");
}
/**
* 删除学生信息
*/
public void delete()
{
service.deleteById(getPara());
redirect("/user/list");
}
/**
* 模糊查询
*/
public void search()
{
String param = getPara("param");
if (param != null && !param.isEmpty())
{
List<Record> users = service.searchUsers(param);
setAttr("users", users);
setAttr("param", param);
} else
{
List<User> allUsers = service.findAll();
setAttr("users", allUsers);
}
render("/user/search.html");
}
/**
* 个人信息
*/
public void self()
{
String id = getSessionAttr("id");
User user = service.findUserByNameAndPassword(id);
setAttr("user", user);
render("/user/self.html");
}
}
package com.men.user;
import com.jfinal.aop.Interceptor;
import com.jfinal.aop.Invocation;
public class UserInterceptor implements Interceptor {
@Override
public void intercept(Invocation inv)
{
System.out.println("Before invoking " + inv.getActionKey());
inv.invoke();
System.out.println("After invoking " + inv.getActionKey());
}
}
package com.men.user;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Page;
import com.jfinal.plugin.activerecord.Record;
import com.men.common.model.User;
import java.util.List;
/**
* @author mendianyu
*/
public class UserService
{
private User dao = new User().dao();
public Page<User> paginate(int pageNumber, int pageSize)
{
return dao.paginate(pageNumber, pageSize, "select *", "from user order by id asc");
}
public User findById(String id)
{
return dao.findById(id);
}
public void deleteById(String id)
{
dao.deleteById(id);
}
//用户登录
public User findUserByNameAndPassword(String id)
{
return dao.findFirst("select * from user where id = ? ", id);
}
public List<Record> searchUsers(String keyword)
{
String sql = "select * from user where id like ? or isAdmin like ? or checked like ?";
keyword = "%" + keyword.trim() + "%";
List<Record> Users = Db.find(sql, keyword, keyword, keyword);
return Users;
}
public List<User> findAll()
{
return dao.findAll();
}
}
package com.men.user;
import com.jfinal.core.Controller;
import com.jfinal.validate.Validator;
/**
* @author mendianyu
*/
public class UserValidator extends Validator
{
@Override
protected void validate(Controller controller)
{
}
@Override
protected void handleError(Controller controller)
{
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人