Struts2 基礎(五)

迎著太陽走向遠方發表於2017-03-27
1.使用 myEclipse開發struts2

配置myEclipse 的 tomcat  jdk  
雙擊myEclipse--new web project
在 struts2.2.3之前只需要匯入 5個包 就可以利用strtus2.之後需要匯入9個包
匯入jar:
struts2-core.jar  //struts2的核心庫
xwork.jar    //webwork的核心庫
ognl.jar   //OGNl表示式庫 Struts2 支援 EL
freemarker.jar  //表現層框架 定義了Struts2的視覺化元件主題。
commons-logging.jar  //日誌管理
commons-fileupload.jar  //檔案上傳
commons-io.jar  // 可以看成是java.io的擴充套件 
commons-lang.jar //包含了一些資料型別工具類
javassist-GA.jar //Javassist是一個開源的分析、編輯和建立Java位元組碼的類庫。


2.配置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">
<!-- 配置struts2的核心攔截器 -->
<filter>
	<filter-name>struts2</filter-name>
	<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>	

<!-- 配置filter攔截的URL -->
<filter-mapping>
	<filter-name>struts2</filter-name>
	<url-pattern>*.action</url-pattern>
</filter-mapping>	
<filter-mapping>
	<filter-name>struts2</filter-name>
	<url-pattern>*.jsp</url-pattern>
</filter-mapping>

<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>

3.配置struts.xml(和struts1 不同struts-config.xml)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
	<constant name="struts.i18n.encoding" value="UTF-8"/>
	<package name="welcome" namespace="/" extends="struts-default">
		<action name="wel" class="com.luob.action.WelcomeAction">
				<result name="success" type="redirect">
					<param name="location">/welcome.jsp</param>
					<param name="str">${str}</param>
				</result>
		</action>
	
	</package>

</struts>


4.Action
package com.luob.action;

import com.opensymphony.xwork2.ActionSupport;

public class WelcomeAction extends ActionSupport {

	private String userName;//jsp頁面的表單的name值和這一樣 就可以取到jsp頁面的值了
	private String userPwd;  //jsp頁面的表單的name值和這一樣 就可以取到jsp頁面的值了
	private String str; //定義私有變數,傳遞的字串
	@Override
	public String execute() throws Exception {
		str="歡迎您:"+userName+"!您的密碼為:"+userPwd;
		return SUCCESS;
	}
	
	public String getUserName() {
		return userName;
	}
	public void setUserName(String userName) {
		this.userName = userName;
	}
	public String getUserPwd() {
		return userPwd;
	}
	public void setUserPwd(String userPwd) {
		this.userPwd = userPwd;
	}
	public String getStr() {
		return str;
	}
	public void setStr(String str) {
		this.str = str;
	}	
}


5.如果 web.xml 中的版本是 2.5 使用 tomcat 5.0 釋出的時候  jsp 頁面的el表示式 預設是 忽略的。也就是原型輸出不會計算裡面的表示式。 此時 可以利用 tomcate 6. 釋出專案 或者 在jsp 頁面 加入<%@ page isELIgnored="false" %>
或者 在web.xml中設定
<jsp-config>   
<jsp-property-group>   
<url-pattern>*.jsp</url-pattern>   
<el-ignored>false</el-ignored>   
<!-- <el-ignored>true</el-ignored> -->   
</jsp-property-group>   
</jsp-config> 

相關文章