- 一、后端
- 1、MeetingInfoDao
- 2、MeetingInfo
- 3、MeetingInfoAction
- 4、UserDao
- 5、UserAction
- 6、配置mvc.xml
- 二、前端
- 1、header.jsp
- 2、addMeeting.jsp
- 3、addMeeting.js
- 4、导入formSelects文件
- 三、运行效果
package com.zking.dao; import com.zking.entity.MeetingInfo; import com.zking.util.BaseDao; public class MeetingInfoDao extends BaseDao2、MeetingInfo{ // 添加会议信息 public int add(MeetingInfo info) throws Exception { String sql = "insert into t_oa_meeting_info(title,content,canyuze,liexize,zhuchiren,rn" + "location,startTime,endTime,remark) values(?,?,?,?,?,?,?,?,?)"; return super.executeUpdate(sql, info, new String[] { "title", "content", "canyuze", "liexize", "zhuchiren", "location", "startTime", "endTime", "remark" }); } }
package com.zking.entity;
import java.util.Date;
public class MeetingInfo {
private Long id;
private String title;
private String content;
private String canyuze;
private String liexize;
private String zhuchiren;
private String location;
private Date startTime;
private Date endTime;
private String fujian;
private Integer state;
private String seatPic;
private String remark;
private String auditor;
public String getAuditor() {
return auditor;
}
public void setAuditor(String auditor) {
this.auditor = auditor;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getCanyuze() {
return canyuze;
}
public void setCanyuze(String canyuze) {
this.canyuze = canyuze;
}
public String getLiexize() {
return liexize;
}
public void setLiexize(String liexize) {
this.liexize = liexize;
}
public String getZhuchiren() {
return zhuchiren;
}
public void setZhuchiren(String zhuchiren) {
this.zhuchiren = zhuchiren;
}
public String getLocation() {
return location;
}
public void setLocation(String location) {
this.location = location;
}
public Date getStartTime() {
return startTime;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
public Date getEndTime() {
return endTime;
}
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
public String getFujian() {
return fujian;
}
public void setFujian(String fujian) {
this.fujian = fujian;
}
public Integer getState() {
return state;
}
public void setState(Integer state) {
this.state = state;
}
public String getSeatPic() {
return seatPic;
}
public void setSeatPic(String seatPic) {
this.seatPic = seatPic;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public MeetingInfo() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "MeetingInfo [id=" + id + ", title=" + title + ", content=" + content + ", canyuze=" + canyuze
+ ", liexize=" + liexize + ", zhuchiren=" + zhuchiren + ", location=" + location + ", startTime="
+ startTime + ", endTime=" + endTime + ", fujian=" + fujian + ", state=" + state + ", seatPic=" + seatPic + ", remark=" + remark + "]";
}
}
3、MeetingInfoAction
package com.zking.web; import java.util.Date; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.beanutils.ConvertUtils; import com.zking.dao.MeetingInfoDao; import com.zking.entity.MeetingInfo; import com.zking.framework.ActionSupport; import com.zking.framework.ModelDriver; import com.zking.util.MyDateConverter; import com.zking.util.R; import com.zking.util.ResponseUtil; public class MeetingInfoAction extends ActionSupport implements ModelDriver4、UserDao{ private MeetingInfo info = new MeetingInfo(); private MeetingInfoDao meetingInfoDao = new MeetingInfoDao(); @Override public MeetingInfo getModel() { //方式二: ConvertUtils.register(new MyDateConverter(),Date.class); return info; } // 会议发布 public String add(HttpServletRequest req, HttpServletResponse resp) { try { int rs = meetingInfoDao.add(info); if (rs > 0) { ResponseUtil.writeJson(resp, R.ok(200, "会议发布成功")); }else { ResponseUtil.writeJson(resp, R.error(0, "会议发布失败")); } } catch (Exception e) { e.printStackTrace(); try { ResponseUtil.writeJson(resp, R.error(0, "会议发布失败")); } catch (Exception e1) { e1.printStackTrace(); } } return null; } }
package com.zking.dao; import java.util.List; import java.util.Map; import com.zking.entity.User; import com.zking.util.BaseDao; import com.zking.util.PageBean; import com.zking.util.StringUtils; public class UserDao extends BaseDao5、UserAction{ public User login(User user) throws Exception { String sql="select * from t_oa_user where loginName='"+user.getLoginName()+"' and pwd='"+user.getPwd()+"'"; // 根据sql查询符合条件的用户,通常只会返回一条数据 List users = super.executeQuery(sql, User.class, null); return users==null||users.size()==0?null:users.get(0); // return super.executeQuery(sql, clz, pageBean); } //查询用户信息及对应的角色,角色是通过case when得来的 public List
package com.zking.web; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.zking.dao.UserDao; import com.zking.entity.User; import com.zking.framework.ActionSupport; import com.zking.framework.ModelDriver; import com.zking.util.PageBean; import com.zking.util.R; import com.zking.util.ResponseUtil; public class UserAction extends ActionSupport implements ModelDriver6、配置mvc.xml{ private User user=new User(); private UserDao userDao=new UserDao(); // 写一个方法处理前台的请求 public String login(HttpServletRequest req, HttpServletResponse resp) { try { User u = userDao.login(user); // 通过账户名密码查到了用户记录 if(u!=null) { // ResponseUtil.writeJson(resp, new R(). // data("code", 200). // data("msg", "成功")); ResponseUtil.writeJson(resp, R.ok(200, "成功")); req.getSession().setAttribute("user", u); }else { // ResponseUtil.writeJson(resp, new R().data("code", 0).data("msg", "账号密码错误")); ResponseUtil.writeJson(resp, R.ok(0, "用户名密码错误")); } } catch (Exception e) { e.printStackTrace(); try { ResponseUtil.writeJson(resp, R.ok(0, "用户名密码错误")); } catch (Exception e1) { e1.printStackTrace(); } } return null; } //用户查询 public String list(HttpServletRequest req,HttpServletResponse resp) { try { PageBean pageBean = new PageBean(); pageBean.setRequest(req); List > users = userDao.list(user, pageBean); //注意:layui中的数据的格式 ResponseUtil.writeJson(resp, R.ok(0, "用户数据查询成功",pageBean.getTotal(),users)); } catch (Exception e) { e.printStackTrace(); try { ResponseUtil.writeJson(resp,R.error(0, "用户数据查询失败")); } catch (Exception e1) { e1.printStackTrace(); } } return null; } public String findAll(HttpServletRequest req, HttpServletResponse resp) { try { List > users = userDao.findAll(user,null); ResponseUtil.writeJson(resp, R.ok(200, "获取用户多选框数据成功", users)); } catch (Exception e) { e.printStackTrace(); try { ResponseUtil.writeJson(resp, R.error(0, "获取用户多选框数据失败")); } catch (Exception e1) { e1.printStackTrace(); } } return null; } //用户增加 public String add(HttpServletRequest req,HttpServletResponse resp) { try { //影响行数 int rs = userDao.add(user); if(rs>0) { ResponseUtil.writeJson(resp, R.ok(200, "用户数据新增成功")); } else { ResponseUtil.writeJson(resp,R.error(0, "用户数据新增失败")); } } catch (Exception e) { e.printStackTrace(); try { ResponseUtil.writeJson(resp,R.error(0, "用户数据新增失败")); } catch (Exception e1) { e1.printStackTrace(); } } return null; } //用户删除 public String del(HttpServletRequest req,HttpServletResponse resp) { try { //影响行数 int rs = userDao.del(user); if(rs>0) { ResponseUtil.writeJson(resp, R.ok(200, "用户数据删除成功")); } else { ResponseUtil.writeJson(resp,R.error(0, "用户数据删除失败")); } } catch (Exception e) { e.printStackTrace(); try { ResponseUtil.writeJson(resp,R.error(0, "用户数据删除失败")); } catch (Exception e1) { e1.printStackTrace(); } } return null; } //用户修改 public String edit(HttpServletRequest req,HttpServletResponse resp) { try { //影响行数 int rs = userDao.edit(user); if(rs>0) { ResponseUtil.writeJson(resp, R.ok(200, "用户数据修改成功")); } else { ResponseUtil.writeJson(resp,R.error(0, "用户数据修改失败")); } } catch (Exception e) { e.printStackTrace(); try { ResponseUtil.writeJson(resp,R.error(0, "用户数据修改失败")); } catch (Exception e1) { e1.printStackTrace(); } } return null; } @Override public User getModel() { // TODO Auto-generated method stub return user; } }
二、前端 1、header.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
玉渊工作室
2、addMeeting.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/common/header.jsp"%>3、addMeeting.js发布会议
let form,layer,$,formSelects,laydate;
layui.use(['form','layer','jquery','laydate'],function(){
form=layui.form,
layer=layui.layer,
$=layui.jquery,
laydate=layui.laydate,
//非模块化处理方式
formSelects=layui.formSelects;
//必须进行初始化操作
formSelects.btns('canyuze', ['select', 'remove', 'reverse']);
formSelects.btns('liexize', ['select', 'remove', 'reverse']);
//会议时间组件初始化
laydate.render({
elem: '#dt',
type: 'datetime',
range: '至'
});
//初始化多选下拉框
initFormSelects();
form.on('submit(meeting)', function(data){
console.log(data.elem) //被执行事件的元素DOM对象,一般为button对象
console.log(data.form) //被执行提交的form对象,一般在存在form标签时才会返回
console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
let rs=data.field;
rs['startTime']=rs.dt.split('至')[0].trim();
rs['endTime']=rs.dt.split('至')[1].trim();
rs['methodName']='add';
console.log(rs);
$.post($("#ctx").val()+'/info.action',rs,function(json){
if(json.success){
layer.msg(json.msg,{icon:6},function(){});
$('#btn_reset').click();
}else{
layer.msg(json.msg,{icon:5},function(){});
}
},'json');
return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
});
});
//初始化多选下拉框
function initFormSelects(){
$.getJSON($("#ctx").val()+'/user.action',{
'methodName':'findAll'
},function(rs){
console.log(rs);
formSelects.data('liexize', 'local',{arr:rs.data});
formSelects.data('canyuze', 'local',{arr:rs.data});
});
}
4、导入formSelects文件
三、运行效果



