struts2 型別轉換筆記

2021-04-27 13:52:27 字數 1594 閱讀 8557

很早就接觸到了struts框架,但是沒有系統的學過這技術,也不太了解,據網上介紹大家都很推崇這項技術,所以學習j2ee的期間,就不得不學習struts框架了。目前struts出了2.1.16版本,其版本已和1.x版本有著本質上的區別,struts2 框架據我目前所知道有以下幾下幾大好處:型別轉換、表單驗證、國際化支援、處理表示分開等,當然還有其它很多的好處,這就有待繼續學習了。

struts2型別轉換是它的乙個主要功能之一。它的流程如下圖

1、struts2的一些基本 例:

login.jsp(新建乙個jsp頁面)

匯入struts2的標籤

下面新增乙個表單

結果頁面result.jsp

新建乙個loginaction類,繼承actionsupport

有成員變數以及他們的set、get方法:

struts.xml

下面來分析下上面的**,先看struts.xml中的內容。pachkage中的name屬性,表示了該project。在該package中定義了乙個action,name屬性為login,呼叫class路徑為com.test.action.loginaction,即上面定義的loginaction類。result中屬性name="success"表示了,當頁面回乙個success結果時跳至result.jsp頁面。這樣通過struts.xml將loginaction類與login.jsp頁面關聯起來。其中login.jsp中將該表單與struts.xml中名為login的action關聯。

程式是如何運作的呢?當我們訪問login.jsp,輸入username與password,按submit提交後,程式呼叫loginaction中各個set方法,講表單中對應的值賦值給對應的成員變數,注(與頁面中的同名)。(這裡因為沒有寫自己的型別轉化,所以通過struts2提供的預設的型別轉化完成,下面我會做具體說明)。完成了表單的提交後,頁面通過validate方法進行相關驗證,該方法需要我們overwrite(比如,我們判斷username不為空等等。),完成了validate之後,通過execute方法,返回乙個result,如返回success,同去struts.xml中的該action中查詢對應的result進行頁面的跳轉,如上**,則我們跳轉至result.jsp,並且,result.jsp通過loginaction中的get方法,獲得各成員變數顯示出之前我們提交的內容。

2、型別轉化

之前提到,在set方法之前隱含了型別轉化。頁面提交,我們獲得的所有內容都是string型別的,而在set方法中,我們要set的成員,並不一定是string型別,所以我們需要一定的型別轉化。

例:我們要輸入乙個point(x,y),則我們需要對其進行型別轉換。

首先,我們在工程下新建乙個point類,成員變數int x,y;已經相對應的set,get方法。

新建乙個input.jsp頁面

詳情:http://blog.sina.com.cn/s/blog_5cf5d2690100dd5q.html

struts2 型別轉換

繼承strutstypeconverter 類或者直接去實現 ognl.defaulttypeconverter 類 strutstypeconverter 類是對defaulttypeconverter 類的包裝。實現 convertfromstring 和converttostring 方法 然...

struts2型別轉換

一 內容提要 1.型別轉換概述 2.型別轉換出錯時如何進行處理 轉到哪個頁面 顯示什麼錯誤訊息 3.自定義型別轉換器 4.型別轉換與複雜物件配合使用 二 型別轉換概述 從乙個html表單到乙個action物件,型別轉換是從字串到非字串http沒有 型別 的概念,每一項表單輸入只可能是乙個字串或乙個字...

Struts2型別轉換

實體類 public class user struts.xml配置 struts型別轉換的api struts2的型別轉換器實際上是基於ognl實現的,在ognl專案中有乙個ognl.typeconverter介面,這個介面就是實現型別轉換器必須實現的介面。該介面定義如下 public inte ...