struts2的第二天

2021-05-22 05:36:54 字數 1527 閱讀 2095

又是忙碌的一天~對struts2有了一定了解,今天有點頭疼...於是看了些簡單的東西,總結了一下struts1與struts2的區別(主要是struts2的一些優勢):

1、struts2的pojo類,不必像struts1一樣要繼承action

2、對servlet的依賴性:struts1的依賴性較強;struts2與servlet則徹底分開,不依賴

3、封裝請求引數:struts2合併了action和actionform,方便了一些

4、測試性:struts1的測試非常痛苦,必須用到jsp;而struts2則方便了許多,可以單獨進行測試而不必用到jsp

其他一些比較:

型別轉化問題:struts1的屬性型別基本都是string等簡單型別;struts2支援複雜型別,如集合,自定義的型別等。

表示式語言:struts1用的是el;struts2為ognl,明顯強於簡單的el

執行緒模式:struts1為單執行緒;struts2則是乙個request分配乙個action。

生命週期:(不懂,就不解釋了)

struts2有***,多檢視等

struts2是基於webwork2的,其實與struts1並無多大關係,個人認為兩者除了都是基於mvc和名字相同,其他的都不一樣...

今天的第二個收穫ognl(物件圖導航語言)ognl.ognl類

getvalue(x,y)x為ognl表示式;y為root物件(object型別)

getvalue(x,y,z)x為ognl表示式;y為context(map);z為root物件(object型別)

例子:#username :用getvalue(x,y)檢索是否有username屬性;

#user.name:用getvalue(x,y)首先查詢是否包含user,在檢索user中是否有name屬性

用getvalue(x,y,z)則在map(key,value)中檢索「key=user,value=name」

重要介面:valuestack,實現類:ognlvaluestack

標籤:iterator value="book" id="book"

property value="#book.name"

date name="#book.date" format="yyyy-mm-dd"

(其中name對應struts.xml中的name)

book.100的book--!>

寫了個顯示圖書資訊的練習,關鍵**如下:

(list.jsp)

<%page import="com.opensymphony.xwork2.util.*"%>

<%@taglib uri="/struts-tags" prefix="s"%>

valuestack vs=(valuestack)request.getattribute("struts","value stack");

list list=(list)vs.findvalue("book");

"book!delete.action?id=<%=book.getid()%>"

頭疼啊~睡了。。。

struts2框架 第二天

1.web.xml 2.struts.xml 1.web.xml作用 是struts2框架的入口,當瀏覽器發出請求到伺服器後,首先發給web.xml,呼叫核心控制器,來執行一系列操作,然後通過呼叫configurationmanager來執行struts.xml的配置檔案。web.xml的目的就是執...

struts2框架之型別轉換(參考第二天學習筆記)

型別轉換 1.什麼是型別轉換 剛才學習了封裝請求引數,把表單資料封裝到action 模型 的屬性中。表單中的資料都是string型別,但action 模型 的屬性不一定什麼型別。將來我們還需要資料的回顯,即把action的屬性值顯示到表單中。把actoin的屬性顯示在表單中。型別轉換是雙向的 str...

第二天2個bug

今天是我進深信服第二天,其餘的還好,分配的電腦就不好說了。昨天領了電腦,機箱已經不成樣子了,還沒有硬碟的,借來了移動光碟機自己裝好系統 裝好軟體 發現這種配置的電腦根本就無法工作,cpu和記憶體使用率一直都飈在百分之七八十。無奈今天去it換了一台,奔騰4換成了賽揚430,1g的記憶體換成了2g 換了...