Struts2第二天

第一节: Struts2 get/set自动获取/设置数据


action


package com.java1234.action;

import com.opensymphony.xwork2.Action;

public class HelloWorldAction implements Action{

     private String name;
    
    
     public String getName() {
          return name;
     }

     public void setName(String name) {
          this.name = name;
     }



     @Override
     public String execute() throws Exception {
          System.out.println("执行了Action的默认方法");
          return SUCCESS;
     }

}

JSP

URL提交

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
${name }大爷你好!
</body>
</html>

form表单提交

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="hello" method="post">
     name:<input type="text" name="name"/><input type="submit" value="Submit"/>

</form>
</body>
</html>

第二节:   ActionSupport类的引入


action

package com.java1234.action;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorldAction2 extends ActionSupport{

     /**
     *
     */
     private static final long serialVersionUID = 1L;
     private String name;
    
    
     public String getName() {
          return name;
     }

     public void setName(String name) {
          this.name = name;
     }


     @Override
     public String execute() throws Exception {
          System.out.println("执行了HelloWorldAction2 Action的默认方法");
          return SUCCESS;
     }

}


JSP

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
登录成功!
</body>
</html>

第三节:  Action设置数据

第一种方式: 属性驱动(FieldDriven) A、基本数据类型属性  B、JavaBean类型属性

第三种方式: 模型驱动(ModelDriven)


基本数据类型

action

package com.java1234.action;

import com.java1234.model.User;
import com.java1234.service.UserService;
import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport{

     /**
     *
     */
     private static final long serialVersionUID = 1L;
    
     private UserService userService=new UserService();
    
     private String userName;
     private String password;
    
     public String getUserName() {
          return userName;
     }


     public void setUserName(String userName) {
          this.userName = userName;
     }

     public String getPassword() {
          return password;
     }

     public void setPassword(String password) {
          this.password = password;
     }

     @Override
     public String execute() throws Exception {
          System.out.println("执行了UserAction的默认方法");
          User user=new User();
          user.setUserName(userName);
          user.setPassword(password);

          if(userService.login(user)){
               return SUCCESS;
          }else{
               return ERROR;
          }
     }

}

JSP

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="user" method="post">
     用户名:<input type="text" name="userName"/>
     密码:<input type="text" name="password"/>
     <input type="submit" value="登录"/>

</form>
</body>
</html>

Service

package com.java1234.service;

import com.java1234.model.User;

public class UserService {

     public boolean login(User user)

     {
          if("java1234".equals(user.getUserName())&&"123456".equals(user.getPassword())){

               return true;
          }else{
               return false;
          }
     }
}

JavaBean数据类型

action


package com.java1234.action;


import com.java1234.model.User;
import com.java1234.service.UserService;
import com.opensymphony.xwork2.ActionSupport;

public class UserAction2 extends ActionSupport{

     /**
     *
     */
     private static final long serialVersionUID = 1L;
    
     private UserService userService=new UserService();
    
     private User user;
 
     public User getUser() {
          return user;
     }

     public void setUser(User user) {
          this.user = user;
     }


     @Override
     public String execute() throws Exception {
          System.out.println("执行了UserAction的默认方法");
          if(userService.login(user)){
               return SUCCESS;
          }else{
               return ERROR;
          }

     }
}

model

package com.java1234.model;

public class User {

     private String userName;
     private String password;
    
     public String getUserName() {
          return userName;
     }
     public void setUserName(String userName) {
          this.userName = userName;
     }
     public String getPassword() {
          return password;
     }
     public void setPassword(String password) {
          this.password = password;
     }
     
}

Service

package com.java1234.service;

import com.java1234.model.User;

public class UserService {

     public boolean login(User user){
          if("java1234".equals(user.getUserName())&&"123456".equals(user.getPassword())){
               return true;
          }else{
               return false;
          }
     }

}

JSP

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="user2" method="post">
     用户名:<input type="text" name="user.userName"/>
     密码:<input type="text" name="user.password"/>
     <input type="submit" value="登录"/>
</form>

</body>
</html>

模型驱动


action

package com.java1234.action;

import com.java1234.model.User;
import com.java1234.service.UserService;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

public class UserAction3 extends ActionSupport implements ModelDriven<User>{

     /**
     *
     */
     private static final long serialVersionUID = 1L;
    
     private UserService userService=new UserService();
    
     private User user=new User();
    
     @Override
     public String execute() throws Exception {
          System.out.println("执行了UserAction3的默认方法");
          if(userService.login(user)){
               return SUCCESS;
          }else{
               return ERROR;
          }
     }

     @Override
     public User getModel() {
          // TODO Auto-generated method stub
          return user;
     }

}

JSP

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="user3" method="post">
     用户名:<input type="text" name="userName"/>
     密码:<input type="text" name="password"/>
     <input type="submit" value="登录"/>
</form>

</body>
</html>

struts2.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
    
  <package name="helloWorld" extends="struts-default">
       <action name="hello" class="com.java1234.action.HelloWorldAction2">
            <result name="success">helloWorld.jsp</result>
       </action>
      
       <action name="user" class="com.java1234.action.UserAction">
            <result name="success">success.jsp</result>
            <result name="error">error.jsp</result>
       </action>
      
       <action name="user2" class="com.java1234.action.UserAction2">
            <result name="success">success.jsp</result>
            <result name="error">error.jsp</result>
       </action>
      
       <action name="user3" class="com.java1234.action.UserAction3">
            <result name="success">success.jsp</result>
            <result name="error">error.jsp</result>
       </action>

  </package>

</struts>


你可能感兴趣的:(Struts2第二天)