You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

116 lines
3.9 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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去访问DAODAO去访问数据库
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";
}
}