1. 程式人生 > >J2EE系列之Struts2學習筆記(二)---使用get/set方法自動獲取/設定引數值

J2EE系列之Struts2學習筆記(二)---使用get/set方法自動獲取/設定引數值

上一篇部落格中講了struts2的配置以及實現了一個簡單的helloWorld程式。這一片部落格講一下如何使用get/set函式來自動獲取/設定引數值。

1.開啟eclipse,新建一個名為SecondLearnStruts2Chap02的Dynamic Web Project;(工程建立方法參考上一篇部落格)

2.配置過濾器,這裡不再給出程式碼;

3.新建一個HelloWorldAction類,作為struts2的處理類(類名及該類所在的包名與上一篇部落格相同),在類中定義一個name變數,並生成該變數的get和set函式:

package com.test.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;
	}
	

}


4.建立struts.xml配置文

<package name="helloWorld" extends="struts-default">
	   	<action name="hello" class="com.test.action.HelloWorldAction">
	   		<result name="success">helloWorld.jsp</result>
	   	</action>
	   	
   </package>


5.新建一個helloWorld.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>
hello ${name }!
</body>
</html>



6.執行程式,開啟瀏覽器請求hello並傳一個值,執行結果如圖:HelloWorldAction


神奇的發現,頁面中竟然取到了我們在請求時傳入的值。

現在總結下程式的流程:我們在處理類HelloWorldAction中定義了一個String型別的名為name變數,並生成了name變數的get和set函式。當我們在瀏覽器中請求hello,並帶著了一個名為name的引數值,攔截器攔截到我們的請求後根據配置把給請求交給HelloWorldAction處理,請求中帶了引數值,攔截器會呼叫HelloWorldAction中同名變數(也就是name變數)的set函式,從而把傳入的值賦值給類中的變數。HelloWorldAction類執行預設的execute函式並返回success,根據配置跳轉到helloWorld.jsp頁面。這個頁面上使用$表示式取name變數的值,這裡攔截器會執行處理類中同名變數(也就是name變數)的get函式,得到處理類中對應變數的值。

以後的應用中,當需要從前臺web頁面傳值給後臺Java程式的某個變數時,前臺中只需使用與這個變數同名的引數傳值即可(前提是Java程式中的變數一定要生成get和set函式),這樣struts2會自動給處理類中的變數賦值。同樣的,後臺向前臺傳值時,前臺可以直接使用${變數名 }的方式取到處理類中相應變數的值。

相關推薦

J2EE系列Struts2學習筆記---使用get/set方法自動獲取/設定數值

上一篇部落格中講了struts2的配置以及實現了一個簡單的helloWorld程式。這一片部落格講一下如何使用get/set函式來自動獲取/設定引數值。 1.開啟eclipse,新建一個名為SecondLearnStruts2Chap02的Dynamic Web Proje

J2EE系列Hibernate4學習筆記--Hibernate4增刪改查體驗

上一篇部落格中使用hibernate4成功建立了表t_student,並向這個表中添加了一個數據。現在來體驗hibernate4實現資料庫表的增刪改查操作。 一、HibernateUtil封裝 使用hibernate對資料庫操作的時候都要首先獲得一個SessionFacto

J2EE系列Spring4學習筆記--Spring對JDBC的支援

一、JdbcDaoSupport類的引入 上一節的工程裡面資料庫操作實現類StudentDaoImpl類中要想使用Spring操作資料庫需要首先定義JdbcTemplate類的物件,這一節我們引入Spring對JDBC支援的JdbcDaoSupport類,首先看一下這個類中

struts2學習筆記—— 獲取登入資訊及計算線上人數

package com.lewa.action; import java.util.Map; import org.apache.struts2.dispatcher.SessionMap; import org.apache.struts2.interceptor.ApplicationAware; i

struts2學習筆記—— struts2的架構【轉】

一、系統架構     Struts2的官方文件附帶了Struts2的架構圖。   從這張圖能夠非常好的去理解Struts2 關於圖中的Key:  

JAVA Redis 學習筆記 Redis的連線IP、埠號、連線密碼的修改以及與JAVA簡單互動

一、專案中引入Redis包              根據上一篇文章中給的jar包路徑,將jar包下載,匯入自己的專案。(jedis-2.7.2.jar) 二、與Redis連線  (1)連線IP和埠

pythonDjango學習筆記---Django從工程創建、app創建到表建模在頁面的顯示

ins req sql charm 如果 步驟 spa use view 創建工程: 在命令行中切換目錄至需要創建工程的目錄,然後在命令行中輸入如下命令創建djangoTestPro工程 D:\PycharmProjects\untitled\MyTestPr

設計模式學習筆記 設計基本原則【單一職責原則】

code 分享 開發者 實際應用 需要 ret ext file類 tor 單一職責原則(SRP: Single Responsibility Principle) 名詞解釋: 1) 職責:是指類變化的原因。 2) 職責擴散:就是因為某種原因,職責P被分化為粒度更細的職責P

Unity3DMecanim動畫系統學習筆記:模型導入

leg character ... sdk ocs 物體 mat 版本 sset 我們要在Unity3D中使用上模型和動畫,需要經過下面幾個階段的制作,下面以一個人形的模型開發為準來介紹。 模型制作 模型建模(Modelling) 我們的美術在建模時一般會制作一個稱為

JVM學習筆記--方法調用靜態分配和動態分配

extends AD 找到 n! sse 運行時 面試 static sys 本篇文章從JVM的角度來理解Java學習中經常提到的重載和重寫。 方法調用:方法調用不等同於方法執行,在Java虛擬機中,方法調用僅僅是為了確定調用哪個版本的方法。方法調用分為解析調用和分派。解析

嵌入式核心及驅動開發學習筆記 實現應用控制驅動

Linux系統根據驅動程式實現的模型框架將裝置驅動分成字元裝置驅動、塊裝置驅動、網路裝置驅動三大類。這裡簡單理解一下概念 字元裝置:裝置按位元組流處理資料,通常用的串列埠裝置、鍵盤裝置都是這種。 塊裝置:裝置按塊單位對資料處理,通常是儲存裝置。 網路裝置:顧名思義,建立在soc

IO流學習筆記BufferedWriter與BufferedReader及例項Demo

在之前的學習筆記(http://blog.csdn.net/megustas_jjc/article/details/72853059)中,FileWriter與FileReader的Demo使用的中轉資料buf實際就是緩衝區,是由我們自己建立的。 緩衝區可以提高效率,Java對緩衝區進行了封裝,封裝成了物

Servlet學習筆記Servlet路徑對映配置、Servlet介面、ServletConfig、ServletContext

Servlet路徑對映配置 要使Servlet物件正常的執行,需要進行適當的配置,以告訴Web容器哪個請求呼叫哪個Servlet物件處理,對Servlet起到一個註冊的作用。Servlet的配置資訊包含在web.xml檔案中,主要通過兩步進行配置: (1)宣告Servlet物件 通過< servlet&

學習筆記tidyversereadxl包------表格資料讀取

1、readxl概況 readxl包是tidyverse中的一員,是匯入Excel表格資料的一個R包,由Hadley Wickham開發的。與其他已經存在的包(例如:gdata包、xlsx包…)最大的區別是不依賴其他外部程式,能夠在所有作業系統中都方便使用; 主要功能是匯入

mybatis學習筆記XML方式的基本用法

在前一篇筆記中,我們建立了配置 mybatis-config.xml 檔案,原來 mappers標籤下的內容為: <mappers> <mapper resource="tk/mybatis/simple/mapper/CountryMa

Spring 學習筆記IOC簡單工廠模擬IOC

IOC不是一種技術,是一種思想。 依賴注入是一種設計模式。 IOC不等於依賴注入。 是把例項化物件的操作交給IOC容器, 程式碼中用到物件的時候就去IOC容器中取。使得物件與物件之間鬆散耦合。 簡單工廠模擬IOC 1. 建立People介面 package or

A-GPS學習筆記 SUPL

1. GNSS GNSS的全稱是全球導航衛星系統(Global Navigation Satellite System),它是泛指所有的衛星導航系統,包括全球的、區域的和增強的,如美國的GPS、俄羅斯的Glonass、歐洲的Galileo、中國的北斗衛星導航系統,以及相關的增強系統,如美國的WAAS(廣域增

OpenLayers學習筆記— QML與HTML通訊畫圖

QML與 HTML通訊—實現QML中點選功能按鈕在地圖上畫圖 作者: 狐狸家的魚 Github: 八至  一、HTML-map  var drarGraphic; var drawType;function

各種音視訊編解碼學習詳解 編解碼學習筆記:codec型別

    最近在研究音視訊編解碼這一塊兒,看到@bitbit大神寫的【各種音視訊編解碼學習詳解】這篇文章,非常感謝,佩服的五體投地。奈何大神這邊文章太長,在這裡我把它分解很多小的篇幅,方便閱讀。大神部落格傳送門:https://www.cnblogs.com/skyofbitbit

struts2學習筆記7---資料驗證validateXxx()方法

validateXxx()方法 上一篇文章寫了使用Action的validate()方法,validate()只能對action的所有方法進行驗證,而要實現對action中特定的方法進行驗證,就需要使用validateXxx()方法。validateXxx()