WebWork2.2.3發(fā)布了
UI and Views
Tools
- Quickstart Support for arbitrary webapp deployment
- The new debug interceptor provides an ajax console to test your ognl expressions
Misc
- Better support for i18n and l10n
- Support for Java 5 enumeration type conversion
- Encodings during multipart requests are now properly handled
- Better and more transparant error handling
Eclipse3.3M1發(fā)布了,詳細(xì)信息http://download.eclipse.org/eclipse/downloads/drops/S-3.3M1-200608101230/eclipse-news-M1.html。
在WebWork中進(jìn)行數(shù)據(jù)驗(yàn)證其實(shí)有好幾種方式,在此我將他一一列舉出來
一、直接在execute()方法中進(jìn)行驗(yàn)證
public String execute() {
boolean validationPassed = true;
if (StringUtils.isBlank(user.getName())) {
addActionError(getText("user.name.empty"));
validationPassed = false;
}
if (StringUtils.isBlank(user.getAddress())) {
addActionError(getText("user.address.empty"));
validationPassed = false;
}
return (validationPassed ? SUCCESS : INPUT);
}
因?yàn)檎麄€(gè)action是放入OgnlValueStack中的,頁面就可以取出這些Error,然后顯示出來,在Input對(duì)應(yīng)的頁面加入如下代碼:
<ww:if test="hasActionErrors"><!--你可以查看ActionSupport類源碼,其中有boolean hasActionErrors()這個(gè)方法-->
<span class="errormessage">
<b>Errors:</b><br/>
<ww:iterator value="actionErrors">
<li><ww:property value="value[0]"/></li>
</ww:iterator>
</span>
</ww:if>
二、是用Validateable接口提供的validate()方法進(jìn)行驗(yàn)證
ActionSupport就繼承了這個(gè)接口
public void validate() {
if (StringUtils.isBlank(user.getName())) {
addActionError(getText("user.name.empty"));
}
if (StringUtils.isBlank(user.getAddress())) {
addActionError(getText("user.address.empty"));
}
}
然后在對(duì)的action的xwork.xml配置中,使用validationWorkflowStack攔截器,并確保有input result。
那么一旦驗(yàn)證出錯(cuò)將會(huì)返回input頁面,但此時(shí)并無錯(cuò)誤信息提示。將第一種方式顯示錯(cuò)誤信息代碼加入到input 頁面,那么錯(cuò)誤信息也將顯示出來。
三、使用WebWork的(標(biāo)準(zhǔn)形式)的驗(yàn)證
具體的步驟:
1.建立validators.xml文件,如果沒有自己定義的校驗(yàn)器則可以不用建立。
2.建立對(duì)應(yīng)action的檢驗(yàn)文件。
檢驗(yàn)文件名有兩種方式
(1)Action類名-validation.xml
(2)Action類名-Action別名-validation.xml
其中Action別名就是xwork.xml配置中action的name
3.頁面使用<ww/>tag
頁面的form和域都使用<ww/>tag方式
4.攔截器使用validationWorkflowStack
四、WebWork的客戶端驗(yàn)證
在使用第三種方式時(shí)候,通過對(duì)<ww:form>里面增加validate="true"即可實(shí)現(xiàn)客戶端驗(yàn)證(在<head></head>之間增加一個(gè)<ww:head/>tag效果更好,里面包括了css的定義)
五、DWR驗(yàn)證