build文件寫完后,把簡單的架構搭建起來后就一直在看wiki和一些資料,我使用的是webwork2.2.2,這個版本和以前的版本有些不同,我遇到的幾個問題總結一下:
webwork2.2.2以前的版本<ww:textfield name="'user.name'" value="user.name"/>
webwork2.2.2??????????????????? ?<ww:textfield name="user.name" value="%{user.name}"/>
也可以在webwork.properties里面設置webwork2.2.2以前的ognl語法規則
還有今天以為將webwork-2.2.2.jar引入進來就可以了呢,原來少了很多包,而且
xwork.xml也有了改進,不再使用現行的版本xwork-1.1.1.jar,還有將ognl.jar的一些jar包引入進來。
特殊命名方式:
#parameters['name']? or #parameters.name??值 request.getParameter("name")
#attr['name' ] or attr.name??????????????????????????????? 相當于PAGE CONTEXT
ognl有一個跟對象(valueObjectStack) 其他對象都會和跟對象一起存放在context map 中,用#只是告訴它不要到根對象中去查找。
webwork.custom.i18n.resources=Message 定義一個全局的資源綁定。
在webwork中的resource查找是先查找action所在的目錄的資源文件,如果找不到就會找package文件,逐層查找,最后找到classes目錄下的的全局資源文件,這樣相對來看在action類目錄下的查找是最快的,資源文件最好以模塊命名不要帶webwork
?<servlet-name>action</servlet-name>
???????? <servlet-class>com.opensymphony.webwork.dispatcher.ServletDispatcher</servlet-class>
?????????<load-on-startup>1</load-on-startup>
??????? 當servletDispatcher初始化時 自動加載velocity在內的一系列工作,如果不設置當一個action請求時含有UI-tag時velocity還沒有完成初始化,這樣肯定會有異常發生
webwork2.2.2和以前的版本有一個區別 就是2.2.2這個版本將雙引號中間的看成字符串,而不是表達式,當我們要使用表達式的時候就用%{},而以前的版本就是說“”里面的看成一個表達式,如果要寫字符串的時候就給加上‘’。
???????