public class User {
int uid;
String uname;
String upass;
String ugrnder;
String account;
String biothday;
String imgPath;
@Override
public String toString() {
return "User{" +
"uid=" + uid +
", uname='" + uname + '\'' +
", upass='" + upass + '\'' +
", ugrnder='" + ugrnder + '\'' +
", account='" + account + '\'' +
", biothday='" + biothday + '\'' +
", imgPath='" + imgPath + '\'' +
'}';
}
public User(int uid, String uname, String upass, String ugrnder, String account, String biothday, String imgPath) {
this.uid = uid;
this.uname = uname;
this.upass = upass;
this.ugrnder = ugrnder;
this.account = account;
this.biothday = biothday;
this.imgPath = imgPath;
}
public User() {
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getUpass() {
return upass;
}
public void setUpass(String upass) {
this.upass = upass;
}
public String getUgrnder() {
return ugrnder;
}
public void setUgrnder(String ugrnder) {
this.ugrnder = ugrnder;
}
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getBiothday() {
return biothday;
}
public void setBiothday(String biothday) {
this.biothday = biothday;
}
public String getImgPath() {
return imgPath;
}
public void setImgPath(String imgPath) {
this.imgPath = imgPath;
}
}
(Message)
public class Message {
int mid;
String content;
Date createTime;
String userName;
public static SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
public Message() {
}
public Message(int mid, String content, Date createTime, String userName) {
this.mid = mid;
this.content = content;
this.createTime = createTime;
this.userName = userName;
}
public int getMid() {
return mid;
}
public void setMid(int mid) {
this.mid = mid;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getCreateTime() {
return simpleDateFormat.format(createTime);
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}
dao
(IUserDao}
public interface IUserDao {
List<User> getUsers();
(IMessageDao)
public interface IMessageDao {
public void sendMessage(Message message);
public List<Message> findAllMessages();
public List<Message> findMessagesByName(String name);
public void deleteMessage(String id);
public List<Message>selectContent(String content);
}
service
(UserServiceImpl)
@Service
@Transactional(readOnly = true)
public class MessageServiceImpl implements IMessageService {
@Autowired
private IMessageDao dao;
@Override
@Transactional(readOnly = false)
public void sendMessage(Message message) {
dao.sendMessage(message);
}
@Override
public List<Message> findAllMessages() {
return dao.findAllMessages();
}
@Override
public List<Message> findMessagesByName(String name) {
return dao.findMessagesByName(name);
}
@Override
@Transactional(readOnly = false)
public void deleteMessage(String id) {
dao.deleteMessage(id);
}
@Override
public List<Message> selectContent(String content) {
return dao.selectContent(content);
}
}
MessageServiceImpl
@Service
@Transactional(readOnly = true)
public class MessageServiceImpl implements IMessageService {
@Autowired
private IMessageDao dao;
@Override
@Transactional(readOnly = false)
public void sendMessage(Message message) {
dao.sendMessage(message);
}
@Override
public List<Message> findAllMessages() {
return dao.findAllMessages();
}
@Override
public List<Message> findMessagesByName(String name) {
return dao.findMessagesByName(name);
}
@Override
@Transactional(readOnly = false)
public void deleteMessage(String id) {
dao.deleteMessage(id);
}
@Override
public List<Message> selectContent(String content) {
return dao.selectContent(content);
}
}
controller
MessageAction
@Controller
public class MessageAction {
@Autowired
private IUserService userService;
@Autowired
private IMessageService messageService;
@RequestMapping(value = "toSend",method = RequestMethod.GET)
public String toSend(Model model){
List<User> users=userService.getUsers();
model.addAttribute("users",users);
return "send";
}
@RequestMapping(value = "sendMessage",method = RequestMethod.GET)
@ResponseBody
public Map<String,Object> sendMessage(String names,String content) throws Exception{
Map<String,Object> map=new HashMap<String,Object>();
names= URLDecoder.decode(names,"UTF-8");
content=URLDecoder.decode(content,"UTF-8");
Message message=new Message();
for (String name :names.split(",")) {
message.setUserName(name);
message.setCreateTime(new Date());
message.setContent(content);
messageService.sendMessage(message);
}
String msg="发送成功";
map.put("msg",msg);
return map;
}
@RequestMapping(value = "toMessage",method = RequestMethod.GET)
public String toMessage(Model model){
List<User> users=userService.getUsers();
List<Message> messages=messageService.findAllMessages();
model.addAttribute("users",users);
model.addAttribute("messages",messages);
return "message";
}
@RequestMapping(value = "findMessagesByName",method = RequestMethod.GET)
@ResponseBody
public Map<String,Object> findMessagesByName(String name) throws Exception{
name=URLDecoder.decode(name,"utf-8");
Map<String,Object> map=new HashMap<String,Object>();
List<Message> messages;
if (name.equals("0")){
messages=messageService.findAllMessages();
}
else {
messages=messageService.findMessagesByName(name);
}
map.put("messages",messages);
return map;
}
@RequestMapping(value = "deleteMessage",method = RequestMethod.GET)
@ResponseBody
public Map<String,Object> deleteMessage(String ids) throws Exception{
ids=URLDecoder.decode(ids,"utf-8");
for (String id:ids.split(",")) {
messageService.deleteMessage(id);
}
Map<String,Object> map=new HashMap<String,Object>();
List<Message> messages=messageService.findAllMessages();
map.put("messages",messages);
return map;
}
@RequestMapping(value = "selectContent",method = RequestMethod.GET)
@ResponseBody
public Map<String, Object> selectContent(String content) throws UnsupportedEncodingException {
Map<String,Object>map=new HashMap<String,Object>();
content=URLDecoder.decode(content,"utf-8");
if(!content.equals("")){
List<Message> messages = messageService.selectContent(content);
map.put("messages",messages);
}else {
List<Message> messages = messageService.findAllMessages();
map.put("messages",messages);
}
return map;
}
@ResponseBody
@RequestMapping(value = "touXiang",method = RequestMethod.POST)
public String touXiang(Model model, @RequestParam(value = "image",required = false) MultipartFile image,HttpServletRequest request,User user) {
String imgPath="";
if(image!=null){
}
user.setImgPath(imgPath);
return null;
}
}
index.jsp
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path;
%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<a href="toSend.action">发送页面</a>
<a href="toMessage.action">查询页面</a>
<a href="/jsp/shangchuan.jsp">上传头像</a>
</body>
</html>
send.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path;
%>
<html>
<head>
<title>发送邮件</title>
<script src="/js/jquery-1.8.3.js"></script>
<script>
function sendMessage() {
var msg=$("#msg").val();
var checkName=[];
$("input:checked").each(function () {
checkName.push($(this).val());
});
checkName=checkName.toString();
var names=encodeURI(checkName);
var content=encodeURI(msg);
$.ajax({
type : "GET",
url: "sendMessage.action",
data: {names:names,content:content},
dataType: "json",
success: function(data) {
$("input:checked").prop("checked",false);
$("#msg").val("");
alert(data.msg);
},
error: function () {
alert("系统繁忙,请稍后重试");
}
});
}
</script>
</head>
<body>
<center>
<h1>发送页面</h1>
<form>
<table>
<tr><td>请选择联系人</td><td>
<c:forEach items="${users}" var="one">
<input type="checkbox" value="${one.uname}" name="uids">${one.uname}
</c:forEach>
</td></tr>
<tr><td>请输入消息内容</td><td><textarea id="msg"></textarea></td></tr>
<tr><td></td><td><input type="button" value="发送" οnclick="sendMessage()"></td></tr>
</table>
<a href="toMessage.action">返回查看信息页面</a>
</form>
</center>
</body>
</html>
message.jsp
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path;
%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>查看信息</title>
<script src="/js/jquery.min.js"></script>
<script>
$(function () {
$("#ck").click(function () {
$("input[type=checkbox]:gt(0)").prop("checked",this.checked);
});
})
function findMessagesByName() {
var name=$("#s1").val();
name=encodeURI(name);
$.ajax({
type:"GET",
url: "findMessagesByName.action",
data: {name:name},
dataType: "json",
success: function (data) {
var html="";
var list=data.messages;
for(var i=0;i<list.length;i++){
html+="<tr>" +
"<td><input type='checkbox' id='id' value='"+list[i].mid+"'></td>" +
"<td>"+list[i].mid+"</td>" +
"<td>"+list[i].content+"</td>" +
"<td>"+list[i].createTime+"</td>" +
"<td>"+list[i].userName+"</td>" +
"<td><input type=\"button\" value=\"删除\" οnclick='deleteMessage("+list[i].mid+")'></td>" +
"</tr>";
}
$("#t1").html(html);
},
error: function () {
alert("系统繁忙,请稍后再试");
}
});
}
function deleteMessage(ids) {
id.toString();
ids=encodeURI(ids);
$.ajax({
type: "GET",
url: "deleteMessage.action",
data: {ids:ids},
dataType: "json",
success: function (data) {
var html="";
var list=data.messages;
for(var i=0;i<list.length;i++){
html+="<tr>" +
"<td><input type='checkbox' id='id' value='"+list[i].mid+"'></td>" +
"<td>"+list[i].mid+"</td>" +
"<td>"+list[i].content+"</td>" +
"<td>"+list[i].createTime+"</td>" +
"<td>"+list[i].userName+"</td>" +
"<td><input type=\"button\" value=\"删除\" οnclick='deleteMessage("+list[i].mid+")'></td>" +
"</tr>";
}
$("#t1").html(html);
},
error: function () {
alert("系统繁忙,请稍后重试");
}
});
}
function deleteSomeMessages() {
var ids=[];
$("input:checked").each(function () {
ids.push($(this).val());
});
ids.toString();
ids=encodeURI(ids);
$.ajax({
type: "get",
url: "deleteMessage.action",
data: {ids:ids},
dataType: "json",
success: function (data) {
var html="";
var list=data.messages;
for(var i=0;i<list.length;i++){
html+="<tr>" +
"<td><input type='checkbox' id='id' value='"+list[i].mid+"'></td>" +
"<td>"+list[i].mid+"</td>" +
"<td>"+list[i].content+"</td>" +
"<td>"+list[i].createTime+"</td>" +
"<td>"+list[i].userName
+"</td>" +
"<td><input type=\"button\" value=\"删除\" οnclick='deleteMessage("+list[i].mid+")'></td>" +
"</tr>";
}
$("#t1").html(html);
},
error: function () {
alert("系统繁忙,请稍后再试");
}
});
}
function selectContent() {
var msg=$("#content").val();
var content=encodeURI(msg);
$.ajax({
type: "get",
url: "selectContent.action",
data: {content:content},
dataType:"json",
success: function (data) {
var html=""
var list=data.messages;
for(var i=0;i<list.length;i++){
html+="<tr>" +
"<td><input type='checkbox' id='id' value='"+list[i].mid+"'></td>" +
"<td>"+list[i].mid+"</td>" +
"<td>"+list[i].content+"</td>" +
"<td>"+list[i].createTime+"</td>" +
"<td>"+list[i].userName+"</td>" +
"<td><input type=\"button\" value=\"删除\" οnclick='deleteMessage("+list[i].id+")'></td>" +
"</tr>";
}
$("#t1").html(html);
},
error: function () {
alert("系统繁忙,请稍后重试");
}
});
}
// /*function checkAll() {
// $("#t1:checkbox").each(function () {
// $(this).prop("checked",!$(this).prop("checked"));
// });
// $("#t1:checkbox").prop("checked",true);
//
// }*/
</script>
</head>
<body>
<center>
<h1>站内信息查看页面</h1>
<form>
<select id="s1" οnchange="findMessagesByName()">
<option value="0" selected="selected">所有人</option>
<c:forEach items="${users}" var="one">
<option value="${one.uname}">${one.uname}</option>
</c:forEach>
</select>
<input id="content">
<input type="button" value="查询" οnclick="selectContent()">
<input type="button" value="批量删除" οnclick="deleteSomeMessages()">
<table border="1px">
<tr>
<td><input type="checkbox" id="ck"></td>
<td width="200px">消息id</td>
<td width="200px">消息内容</td>
<td width="200px">时间</td>
<td width="200px">接收人</td>
<td width="200px">操作</td>
</tr>
<tbody id="t1">
<c:forEach items="${messages}" var="one">
<tr>
<td><input type="checkbox" id="id" value="${one.mid}"></td>
<td>${one.mid}</td>
<td>${one.content}</td>
<td>${one.createTime}</td>
<td>${one.userName}</td>
<td><input type="button" value="删除" οnclick="deleteMessage(${one.mid})"></td>
</tr>
</c:forEach>
</tbody>
</table>
<a href="toSend.action">返回发送页面</a>
</form>
</center>
</body>
</html>