|
|
package cn.itbaizhan.action;
|
|
|
import java.util.Collection;
|
|
|
import java.util.Map;
|
|
|
import javax.annotation.Resource;
|
|
|
import org.springframework.context.annotation.Scope;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
import cn.itbaizhan.po.User;
|
|
|
import cn.itbaizhan.service.UserService;
|
|
|
import com.opensymphony.xwork2.ActionContext;
|
|
|
import com.opensymphony.xwork2.ActionSupport;
|
|
|
//import com.cds.po.Department;
|
|
|
//import com.cds.po.Role;
|
|
|
//import com.cds.service.DepartmentService;
|
|
|
//import com.cds.service.RoleService;
|
|
|
@SuppressWarnings("serial")
|
|
|
@Component("userAction")
|
|
|
@Scope("prototype")//多例,每个请求生成一个新的action
|
|
|
public class UserAction extends ActionSupport {
|
|
|
private User user;
|
|
|
//要调用UserService的方法,所以要声明,让spring把其实现类注入。@Resource 默认按 byName 自动注入
|
|
|
// 定义了一个名为UserAction的类,用于处理与用户相关的操作
|
|
|
public class UserAction {
|
|
|
// 使用@Resource注解注入名为"userServiceImpl"的UserService实例
|
|
|
@Resource(name="userServiceImpl")
|
|
|
UserService service; // 用户服务实例
|
|
|
// 获取UserService实例的方法
|
|
|
// 获取用户服务实例的方法
|
|
|
public UserService getService() {
|
|
|
// 返回服务实例
|
|
|
return service;
|
|
|
}
|
|
|
}
|
|
|
// 设置UserService实例的方法
|
|
|
// 设置用户服务实例的方法
|
|
|
public void setService(UserService service) {
|
|
|
this.service = service;
|
|
|
}
|
|
|
// 获取User对象的方法
|
|
|
// 获取用户对象的方法
|
|
|
public User getUser() {
|
|
|
// 返回用户对象
|
|
|
return user;
|
|
|
}
|
|
|
public void setUser(User user) {
|
|
|
// 设置用户对象
|
|
|
this.user = user;
|
|
|
}
|
|
|
// 用户操作相关的Action类
|
|
|
public class UserAction extends SomeBaseClass {
|
|
|
@Override
|
|
|
// 执行用户操作的方法,可能包括获取用户名等业务逻辑
|
|
|
public String execute() throws Exception {
|
|
|
// 不要直接访问数据库,应该访问业务逻辑层service,而service去访问DAO,dao去访问数据库
|
|
|
String username= user.getUsername();
|
|
|
// 输出用户名到控制台
|
|
|
System.out.println(username);
|
|
|
}
|
|
|
// 根据用户名查找用户
|
|
|
User user = service.findUserByName(username);
|
|
|
// 如果用户不存在,则保存新用户并返回"success"
|
|
|
class UserAction {
|
|
|
// 保存用户信息的方法,如果用户为null则保存用户并返回"success",否则返回"error"
|
|
|
// 如果用户对象为空,则保存当前用户对象并返回成功字符串
|
|
|
if(user==null){
|
|
|
// 调用服务类的save方法,保存用户信息
|
|
|
this.service.save(this.user);
|
|
|
// 返回字符串"success",表示操作成功
|
|
|
return "success";
|
|
|
}
|
|
|
// 如果用户存在,则返回"error"
|
|
|
else{
|
|
|
// 返回错误信息
|
|
|
return "error";
|
|
|
}
|
|
|
}
|
|
|
//列表
|
|
|
@SuppressWarnings("unchecked")
|
|
|
// 忽略 unchecked 警告,通常用于泛型代码中
|
|
|
public String listUser(){
|
|
|
// 获取请求对象
|
|
|
Map request = (Map) ActionContext.getContext().get("request");
|
|
|
// 将查询到的所有用户列表放入请求对象中,以便在页面中使用
|
|
|
request.put("listUsers", service.findAllUsers());
|
|
|
// 打印用户列表的大小到控制台
|
|
|
System.out.println("listUsers"+service.findAllUsers().size());
|
|
|
// 返回逻辑视图名称 "listUser"
|
|
|
return "listUser";
|
|
|
}
|
|
|
// 查询用户信息的方法
|
|
|
@SuppressWarnings("unchecked")
|
|
|
// 查询用户信息的方法
|
|
|
public String queryUser(){
|
|
|
// 获取用户名并打印
|
|
|
String username= user.getUsername();
|
|
|
System.out.println(username);
|
|
|
// 获取用户的真实姓名
|
|
|
String name= user.getName();
|
|
|
}
|
|
|
// 查询用户信息并将结果存储在user变量中
|
|
|
User user=this.service.queryUser(username);
|
|
|
// 打印用户信息到控制台
|
|
|
System.out.println("user:"+user);
|
|
|
// 获取request对象以便存储查询结果
|
|
|
Map request = (Map) ActionContext.getContext().get("request");
|
|
|
// 将查询到的用户信息放入request对象中
|
|
|
request.put("queryUser", user);
|
|
|
}
|
|
|
//System
|