|
|
package cn.itbaizhan.action;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.Collection;
|
|
|
import java.util.Date;
|
|
|
import java.util.Map;
|
|
|
import javax.annotation.Resource;
|
|
|
import org.hibernate.mapping.List;
|
|
|
import org.springframework.context.annotation.Scope;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
import cn.itbaizhan.po.Message;
|
|
|
import cn.itbaizhan.service.MessageService;
|
|
|
import com.opensymphony.xwork2.ActionContext;
|
|
|
import com.opensymphony.xwork2.ActionSupport;
|
|
|
@SuppressWarnings("serial")
|
|
|
@Component("messageAction")
|
|
|
@Scope("prototype")//多例,每个请求生成一个新的action
|
|
|
public class MessageAction extends ActionSupport {
|
|
|
private Message message;
|
|
|
}
|
|
|
// MessageAction 类用于处理与消息相关的操作
|
|
|
public class MessageAction {
|
|
|
//要调用MessageService的方法,所以要声明,让spring把其实现类注入
|
|
|
@Resource(name="messageServiceImpl")
|
|
|
MessageService service;
|
|
|
// 获取注入的MessageService实例
|
|
|
public MessageService getService() {
|
|
|
// 获取当前的MessageService对象
|
|
|
return service;
|
|
|
}
|
|
|
}
|
|
|
// 设置MessageService对象
|
|
|
public void setService(MessageService service) {
|
|
|
this.service = service;
|
|
|
}
|
|
|
public Message getMessage() {
|
|
|
// 获取当前的Message对象
|
|
|
// 返回消息
|
|
|
return message;
|
|
|
}
|
|
|
// 设置Message对象
|
|
|
public void setMessage(Message message) {
|
|
|
this.message = message;
|
|
|
}
|
|
|
@Override
|
|
|
// 执行留言保存操作的方法
|
|
|
public String execute() throws Exception {
|
|
|
// 不要直接访问数据库,应该访问业务逻辑层service,而service去访问DAO,DAO去访问数据库
|
|
|
this.service.save(this.message);
|
|
|
// 输出消息的用户名到控制台
|
|
|
System.out.println("message:"+message.getUsername());
|
|
|
// 将提交留言的确认信息存入ActionContext,以便页面显示
|
|
|
ActionContext.getContext().put("tijiaomessage", "您的留言已经提交!");
|
|
|
// 返回操作成功的字符串
|
|
|
return "success";
|
|
|
}
|
|
|
}
|
|
|
// 抑制 unchecked 警告
|
|
|
@SuppressWarnings("unchecked")
|
|
|
// 定义一个名为 listMessage 的公共方法,返回类型为 String
|
|
|
public String listMessage(){
|
|
|
// 获取请求对象,并将其转换为 Map 类型
|
|
|
Map request = (Map) ActionContext.getContext().get("request");
|
|
|
// 将服务层获取的所有消息存入请求对象中,键名为 "listMessages"
|
|
|
request.put("listMessages", service.findAllMessages());
|
|
|
// 打印字符串 "listMessages" 到控制台
|
|
|
System.out.println("listMessages");
|
|
|
// 返回字符串 "listMessage" 作为方法的结果
|
|
|
return "listMessage";
|
|
|
}
|
|
|
//查询
|
|
|
@SuppressWarnings("unchecked")
|
|
|
// 查询消息的方法
|
|
|
public String queryMessage(){
|
|
|
// 获取消息的ID
|
|
|
int messageId= message.getMessageId();
|
|
|
// 输出消息ID
|
|
|
System.out.println("messageId:"+messageId);
|
|
|
// 获取消息的用户名
|
|
|
String username= message.getUsername();
|
|
|
// 输出用户名到控制台
|
|
|
System.out.println("username:"+username);
|
|
|
// 获取消息的标题
|
|
|
String messagetitle= message.getMessagetitle();
|
|
|
// 输出消息标题
|
|
|
System.out.println("messagetitle:"+messagetitle);
|
|
|
// 根据用户名查询消息
|
|
|
Message message=this.service.queryMessage(username);
|
|
|
System.out.println("message:"+message);
|
|
|
// 获取请求上下文
|
|
|
Map request = (Map) ActionContext.getContext().get("request");
|
|
|
// 将查询到的消息存入请求属性中
|
|
|
request.put("queryMessage", message);
|
|
|
// 返回结果标识
|
|
|
return "queryMessage";
|
|
|
}
|
|
|
// 删除消息的方法
|
|
|
public String deleteMessage(){
|
|
|
this.service.delete(message);
|
|
|
return "deleteMessage";
|
|
|
}
|
|
|
// 根据消息ID查找消息的方法
|
|
|
public String findMessageById(){
|
|
|
message = this.service.findMessageById(message.getMessageId());
|
|
|
return "findMessage";
|
|
|
}
|
|
|
@SuppressWarnings("unchecked")
|
|
|
// 保存消息到服务中,并将结果存储在请求范围内,返回字符串"addmessage"
|
|
|
public String addMessage(){
|
|
|
// 将消息对象保存到服务中
|
|
|
this.service.save(this.message);
|
|
|
// 获取请求对象并转换为Map类型
|
|
|
Map request = (Map) ActionContext.getContext().get("request");
|
|
|
// 返回字符串 "addmessage"
|
|
|
return "addmessage";
|
|
|
}
|
|
|
} |