使用SessionAware可以用通过的Map对象来注入session,这样在单元测试的时候只需要创建一个Map就可以了。这是一种比较推荐的做法
package cn.jbit.pb.bqyf.user.web;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import cn.jbit.pb.bqyf.entity.User;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport implements SessionAware{
private User users;
private String msg;
private Map<String,Object>session;
public String getMsg() {
return msg;
}
public Map<String, Object> getSession() {
return session;
}
public void setSession(Map<String, Object> session) {
this.session = session;
}
public void setMsg(String msg) {
this.msg = msg;
}
public User getUsers() {
return users;
}
public void setUsers(User users) {
this.users = users;
}
public String login(){
String forward="";
if(users.getUsername().equals("bh")&&users.getPassword().equals("1234")){
User u =new User();
u.setUsername("student");
u.setPassword("1234");
u.setUserroles("01");
session.put("pbdevj", u);
forward="main";
}else{
msg="用户名或密码错误";
forward="index";
}
return forward;
}
public String top(){
return "top";
}
public String left(){
return "left";
}
public String right(){
return "right";
}
}
package cn.jbit.pb.bqyf.user.web;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import cn.jbit.pb.bqyf.entity.User;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport implements SessionAware{
private User users;
private String msg;
private Map<String,Object>session;
public String getMsg() {
return msg;
}
public Map<String, Object> getSession() {
return session;
}
public void setSession(Map<String, Object> session) {
this.session = session;
}
public void setMsg(String msg) {
this.msg = msg;
}
public User getUsers() {
return users;
}
public void setUsers(User users) {
this.users = users;
}
public String login(){
String forward="";
if(users.getUsername().equals("bh")&&users.getPassword().equals("1234")){
User u =new User();
u.setUsername("student");
u.setPassword("1234");
u.setUserroles("01");
session.put("pbdevj", u);
forward="main";
}else{
msg="用户名或密码错误";
forward="index";
}
return forward;
}
public String top(){
return "top";
}
public String left(){
return "left";
}
public String right(){
return "right";
}
}