1. 程式人生 > >第04講 struts2設定資料-屬性驅動-基本資料型別

第04講 struts2設定資料-屬性驅動-基本資料型別

1,在 HeadFirstStruts2chapter02 中,新建包com.cruise.model包,新建bean:User,屬性分別為:userName,password,
package com.cruise.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;
    }
}
2,新建UserAction,繼承ActionSuppot,
package com.cruise.action;

import com.opensymphony.xwork2.ActionSupport;

public
 class UserAction extends ActionSupport{

    @Override
    public String execute() throws Exception {
       
       System.out.println("執行了UserAction方法");
       return SUCCESS;
    }
}
3,新建login.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 heretitle>
head>
<body>
<form action="user" method="post">
    userName:<input type="text" name="userName"/><br>
    password:<input type="text" name="password"/><br>
    <input type="submit" value="提交">
form>
body>
html>
4,UserAction類,新增兩個屬性,userName 和password,set() get()方法。
package com.cruise.action;

import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport{

    
    private String userName;
    private String pasword;
    
    public String getUserName() {
       return userName;
    }

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

    public String getPasword() {
       return pasword;
    }

    public void setPasword(String pasword) {
       this.pasword = pasword;
    }

    @Override
    public String execute() throws Exception {
       
       System.out.println("執行了UserAction方法");
       return SUCCESS;
    }
}
5,新建包com.cruise.service ,建UserService類,login()方法,返回值為Boolean型別,這裡主要模擬一下驗證過程。
package com.cruise.service;

import com.cruise.model.User;

public class UserService {

    public Boolean login(User user){
       if("Ashley".equals(user.getUserName()) && "123456".equals(user.getPassword())){
           return true;
       }else{
           return false;
       }
    }
}
6,UserAction,寫邏輯程式碼。

package com.cruise.action;

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

public class UserAction extends ActionSupport{

    
    private String userName;
    private String password;
    
    private UserService userService = new UserService();
    
    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);
       Boolean  login = userService.login(user);
       if(login){
           return SUCCESS;
       }else{
           return ERROR;
       }
    }
}
7,寫success.jsp 頁面,和error.jsp 失敗頁面。
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 heretitle>
head>
<body>
登陸成功!!!
body>
html>
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 heretitle>
head>
<body>
登陸失敗!!!
body>
html>
8,修改struts.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="suibiandingyi" extends="struts-default">
    <action name="hello" class="com.cruise.action.HelloWorldAction">
       <result name="success">helloworld.jspresult>
    action>
    <action name="hello2" class="com.cruise.action.HelloWorldAction2">
       <result name="success">helloworld.jspresult>
    action>
    <action name="user" class="com.cruise.action.UserAction">
       <result name="success">success.jspresult>
       <result name="error">error.jspresult>
    action>
package>

struts>

9,測試
4,struts2設定資料-屬性驅動-基本資料型別