在struts2的提供例項中,將查詢出來的資料物件封裝在list中,並通過iterator遍歷顯示在頁面中,選中其中的一條資料,並希望能夠單獨顯示在乙個頁面時,官方提供的方式是傳遞id過去,並通過id查詢資料後顯示在頁面上。
能否將iterator遍歷後的物件作為引數,直接傳到的新的action中,並顯示在跳轉後的頁面中,以此來減少對資料庫的查詢操作。
在struts中,頁面向後台傳遞物件時,系統將報錯,錯誤原因是將物件從頁面傳遞到action時,其型別被轉換為了string型別,因此不能將其賦值給物件資料。需要進行的處理就是對string型別做處理將其轉換為物件型別。
第一步。在物件pojo中重寫tostring方法。因為在頁面傳遞物件到action過程中,轉換為string型別呼叫的是物件的tostring方法,重寫tostring方法可以儲存物件中的資料。
public class user
return u;
}將物件轉換為字串
@override
public string converttostring(map arg0, object arg1)
第三步,編寫資料轉換的配置檔案。
區域性轉換,在action所在的資料夾中新建actionname-conversion.properties檔案,檔案內容 user = ***. userconvert // user代表action中user物件的命名,即private user user; 根據實際命名調整,***代表userconvert物件所在的包名。
全域性轉化, 在struts.xml同一目錄下新建xwork-conversion.properties檔案, 檔案內容 ***.user = ***.userconvert .
如此,這可以在頁面中傳遞user物件到action中。
PO Page object 頁面物件
在ui自動化時,越做到後面越難處理,主要會出現以下問題 1 越多,看的越擁擠,不好閱讀 2 維護成本越來越高,ui稍微改了一些變動,就要改大量 比如替換定位元素 3 函式方法多用,沒有可復用方法 在以上問題出現後,有人就總結出乙個po模式,主要原理就是將各種定位 方法 操作分開使用,使指令碼可讀可寫...
頁面物件(page object)模式
使用頁面物件的設計模式。頁面物件模型將測試 和被測試的頁面的頁面元素及其操作方法進行分離,以降低頁面元素的變化對測試 的影響。每乙個被測試的頁面都會被定義為乙個類,類中會定位所有需進行測試操作的頁面元素物件,並且定義操作每乙個頁面元素物件的方法。如果使用者沒有使用此模式,那麼獎登入過程都用相同的 段...
PO頁面物件模式封裝
po的主要價值體現在對介面互動細節的封裝,這樣可以使測試案例可以更關注與業務而非介面細節,提高測試案例的可讀性。以傳統的登陸頁面為例實現po模式,因為每個用例中都需要登陸。其中需要使用pagefactory.initelements 工廠方法,此方法也可以解決頁面元素過期的問題。頁面層,對用例中需要...