Struts2_01_プロセスの使用

5075 ワード

一、Struts
1.struts 2のjarパッケージを公式サイトにダウンロードし、使用する必要があるインポートWebプロジェクトを作成します.
struts 2でインポートする必要がある一般的な5つのjarパッケージ:
xwork-2.0.4.jar ;
struts2-core-2.0.11.1.jar ;
freemarker-2.3.8.jar;
ognl-2.6.11.jar;
commons-logging-api-1.1.jar.
 
これらのファイルはstruts 2を使用する場合にインポートする必要があります.これは私が使用しているバージョンです.現在バージョンが更新されている可能性があります.彼女の公式サイトにダウンロードすることができます.
2.web.xmlでのFilterDispatcherの構成
struts 2は、struts 1の代わりにフィルタを通過する.xのactionServicelet構成.Webでxmlの構成は次のとおりです.
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

  <filter>
  	<filter-name>struts2</filter-name>
  	<filter-class>
  		org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
  	</filter-class>
  </filter>

  <filter-mapping>
  	<filter-name>struts2</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>
</web-app>
 
 
3.Model層ビジネスロジックの開発
public class LoginService {
	public boolean login(String cutname,String pwd){
		if(cutname.equals("zhangsan")&&pwd.equals("123")){
			return true;
		}else{
			return false;
		}
	}
}

 
4.Actionクラスを開発し、ビジネスロジックを呼び出し、結果ビューに戻る.
package com.struts.action;
import com.struts.service.LoginService;

public class LoginAction {
	private String custname;
	private String pwd;
	public String getCustname() {
		return custname;
	}
	public void setCustname(String custname) {
		this.custname = custname;
	}
	public String getPwd() {
		return pwd;
	}
	public void setPwd(String pwd) {
		this.pwd = pwd;
	}
	
	public String execute(){
		LoginService ls = new LoginService();
		boolean flag = ls.login(custname, pwd);
		if(flag){
			return "success";
		}else{
			return "fail";
		}
	}
}
 
5.struts.xmlでActionクラスを構成します.
struts 2のプライマリプロファイルはstrutsを使用する.xmlはclassesディレクトリの下に置かなければなりません.MyEclipseではsrcの下にあります.次のように構成されています.
 
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC 
	"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" 
	"http://struts.apache.org/dtds/struts-2.1.dtd">

<struts>
<package name="user"   extends="struts-default">
	<action name="Login" class="com.struts.action.LoginAction" >
		<result name="success" >/welcome.jsp</result>
		<result name="fail">/login.jsp</result>
	</action>
</package>
</struts>  
 
ラベル説明:name=「struts」はの名前で、任意で、識別しやすいことをお勧めします.extends=「struts-default」各パケットはsturts-defaultというパケットを継承する必要があります.これはデフォルトのパケットです.struts 2このパッケージで定義されている多くの機能.ラベル説明:name=「ページリクエストのaction名」でstruts 1に相当する.xのpath属性の設定
 
classはクラスパスを示す.ラベルの説明:name=「actionで返される文字列」.struts 2ではactionが文字列を返します./ページは、actionが返す値がnameの値と同じである場合、指定したページにジャンプすることを示します.デフォルトはname=「success」で、書かないことができます.name=「input」の場合、struts 1に相当するエラー処理ページが返されます.xのinputプロパティ設定.
 
6.開発ビューファイル
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>    
    <title>index starting page</title>
  </head>
  
  <body>
    <s:form action="Login">
    	<s:textfield name="custname" label="   "></s:textfield><br>
    	<s:password name="pwd" label="   "></s:password><br>
    	<s:submit value="Login"></s:submit>
    </s:form>
  </body>
</html>

 
ウェルカムページにはログインユーザのユーザ名が表示され、ELを使用して要求パラメータの値が表示されます.
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
        <title>welcome page</title>
  </head>
  <body>
    Welcome,${param.custname }
  </body>
</html>