【Struts2框架】Struts2减少action类和标签

mac2025-09-20  55

1.Action类数量的优化

 a.定义Action中的业务处理方法,而不在使用默认的execute()业务处理方法

方法一: 在Action类中:

public class UsersAction extends ActionSupport implements ModelDriven<Users>,SessionAware,RequestAware,ApplicationAware{

         private Users user = new Users();

         private Map<String, Object> application;

         private Map<String, Object> session;

         private Map<String, Object> request;

         private String message1;

        

        

         public String getMessage1() {

                   return message1;

         }

 

         public void setMessage1(String message1) {

                   this.message1 = message1;

         }

 

         public Users getUser() {

                   return user;

         }

 

         public void setUser(Users user) {

                   this.user = user;

         }

 

         //自定义业务处理方法

         //登陆

         public String login() {

                   String message="";

                   System.out.println(user.getUsername() + ":" + user.getUserpwd());

                   if ("admin".equals(user.getUsername())&&"admin".equals(user.getUserpwd())) {

                            message="success";

                            message1="登陆成功";

                   }else {

                            message="index";

                            message1="登录失败";

                   }

                   return message;

         }

        

         //注册

         public String reg() {

                   System.out.println(user.getUsername()+":"+user.getUserpwd() + ":" + user.getUsex() + ":" + user.getUbirth() + ":" +user.getUemail() + ":" + user.getAddress());

                   return "index";

         }

 

         @Override

         public Users getModel() {

                   // TODO Auto-generated method stub

                   return user;

         }

 

         @Override

         public void setApplication(Map<String, Object> arg0) {

                   // TODO Auto-generated method stub

                   this.application = arg0;

         }

 

         @Override

         public void setRequest(Map<String, Object> arg0) {

                   // TODO Auto-generated method stub

                  this.request = arg0;

         }

 

         @Override

         public void setSession(Map<String, Object> arg0) {

                   // TODO Auto-generated method stub

                   this.session = arg0;

         }

}

 

public class UsersAction extends ActionSupport implements ModelDriven<Users>,SessionAware,RequestAware,ApplicationAware{

         private Users user = new Users();

         private Map<String, Object> application;

         private Map<String, Object> session;

         private Map<String, Object> request;

         private String message1;

        

        

         public String getMessage1() {

                   return message1;

         }

 

         public void setMessage1(String message1) {

                   this.message1 = message1;

         }

 

         public Users getUser() {

                   return user;

         }

 

         public void setUser(Users user) {

                   this.user = user;

         }

 

         //自定义业务处理方法

         //登陆

         public String login() {

                   String message="";

                   System.out.println(user.getUsername() + ":" + user.getUserpwd());

                   if ("admin".equals(user.getUsername())&&"admin".equals(user.getUserpwd())) {

                            message="success";

                            message1="登陆成功";

                   }else {

                            message="index";

                            message1="登录失败";

                   }

                   return message;

         }

        

         //注册

         public String reg() {

                   System.out.println(user.getUsername()+":"+user.getUserpwd() + ":" + user.getUsex() + ":" + user.getUbirth() + ":" +user.getUemail() + ":" + user.getAddress());

                   return "index";

         }

 

         @Override

         public Users getModel() {

                   // TODO Auto-generated method stub

                   return user;

         }

 

         @Override

         public void setApplication(Map<String, Object> arg0) {

                   // TODO Auto-generated method stub

                   this.application = arg0;

         }

 

         @Override

         public void setRequest(Map<String, Object> arg0) {

                   // TODO Auto-generated method stub

                  this.request = arg0;

         }

 

         @Override

         public void setSession(Map<String, Object> arg0) {

                   // TODO Auto-generated method stub

                   this.session = arg0;

         }

}

 

在struts.xml

<package name="default" namespace="/" extends="struts-default">

        <action name="helloAction" class="com.svse.action.UsersAction" method="login">

            <result name="success">/WEB-INF/jsp/result.jsp</result>

            <result name="index">/WEB-INF/jsp/login.jsp</result>

        </action>

       

        <action name="regAction" class="com.svse.action.UsersAction" method="reg">

                 <result name="index">/WEB-INF/jsp/login.jsp</result>

        </action>

    </package>

 

 

最新回复(0)