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"; } }