日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 对象视图框架_Stripes视图框架Java对象属性验证和prototype.js Ajax的测试

發布時間:2025/3/12 java 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 对象视图框架_Stripes视图框架Java对象属性验证和prototype.js Ajax的测试 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Stripes視圖框架Java對象屬性驗證,它允許對字段設置是否必須填寫,對數字大小進行限制等。我用prototype.js Ajax 將驗證后的數據及時地展示出來,下面來看程序。

1、編寫User實體類

此用戶共三個屬性: name、email、age.

package?com.boonya.stripes.entity;

public?class?User?{

private?String?name;

private?String?email;

private?int?age;

public?String?getName()?{

return?name;

}

public?void?setName(String?name)?{

this.name?=?name;

}

public?String?getEmail()?{

return?email;

}

public?void?setEmail(String?email)?{

this.email?=?email;

}

public?int?getAge()?{

return?age;

}

public?void?setAge(int?age)?{

this.age?=?age;

}

}

2、編寫UserActionBean視圖控制Action類

此類中包含了用戶輸入界面(userRegister.jsp)和用戶數據提交完成后的數據展示界面(userInfo.jsp),我們要驗證的是用戶的數據合法的時候才展示用戶數據。

package?com.boonya.stripes.actions;

import?com.boonya.stripes.entity.User;

import?net.sourceforge.stripes.action.DefaultHandler;

import?net.sourceforge.stripes.action.ForwardResolution;

import?net.sourceforge.stripes.action.Resolution;

import?net.sourceforge.stripes.action.SessionScope;

import?net.sourceforge.stripes.validation.Validate;

import?net.sourceforge.stripes.validation.ValidateNestedProperties;

@SessionScope

public?class?UserActionBean?extends?AbstractActionBean?{

private?static?final?long?serialVersionUID?=?1L;

protected?static?final?String?REGISTER="/WEB-INF/userRegister.jsp";

protected?static?final?String?USER_INFO="/WEB-INF/userInfo.jsp";

@ValidateNestedProperties({

@Validate(field?="name",required=true,on?=?{"viewUserInfo"}),

@Validate(field?="email",required=true,on?=?{"viewUserInfo"}),

@Validate(field?="age",?required?=?true,?minvalue?=?13,?on?=?{"viewUserInfo"})

})

private?User?user;

@DefaultHandler

public?Resolution?register()?{

return?new?ForwardResolution(REGISTER);

}

public?Resolution?viewUserInfo(){

return?new?ForwardResolution(USER_INFO);

}

public?void?setUser(User?user)?{

this.user?=?user;

}

public?User?getUser()?{

return?user;

}

}

注:@ValidateNestedProperties ?驗證對象包含的特殊屬性字段值的限制;@Validate ?具體驗證的字段。filed表示字段、required表示是否必需、on表示綁定到的事件方法。

3、編寫界面操作的Jsp文件

userRegister.jsp

pageEncoding="UTF-8"%>

html?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"?"http://www.w3.org/TR/html4/loose.dtd">

User-Register

function?userHandleAjax()?{

var?myAjax?=?new?Ajax.Updater(‘user‘,

‘‘,

{

method:?‘get‘,

parameters:Form.serialize(‘userForm‘)

});

}

Update?user?info:?

Name:?

Email:?

Age:

userInfo.jsp

pageEncoding="UTF-8"%>

uri="http://stripes.sourceforge.net/stripes.tld"%>

html?PUBLIC?"-//W3C//DTD?HTML?4.01?Transitional//EN"?"http://www.w3.org/TR/html4/loose.dtd">

User-Info

User‘s?info

Hello?${actionBean.user.name}

Email:?${actionBean.user.email}

age:?${actionBean.user.age}

注:表單字段賦值:對象.屬性 即user.name等等;而取值以$(actionBean.對象.屬性),即${actionBean.user.name}等等;

4、測試表單提交數據異常處理

故意少輸入參數,頁面顯示請求不正常頁面:

產生的異常代碼提示:

Caused?by:?java.util.MissingResourceException:?Could?not?find?an?error?message?with?any?of?the?following?keys:‘com.boonya.stripes.actions.UserActionBean.user.age.valueNotPresent‘,‘com.boonya.stripes.actions.UserActionBean.user.age.errorMessage‘,‘/actions/User.action.user.age.valueNotPresent‘,‘/actions/User.action.user.age.errorMessage‘,‘user.age.valueNotPresent‘,‘user.age.errorMessage‘,‘com.boonya.stripes.actions.UserActionBean.valueNotPresent‘.com.boonya.stripes.actions.UserActionBean.errorMessage‘,?‘/actions/User.action.valueNotPresent‘,?‘/actions/User.action.errorMessage‘,?‘validation.required.valueNotPresent‘.

at?net.sourceforge.stripes.validation.ScopedLocalizableError.getMessageTemplate(ScopedLocalizableError.java:164)

at?net.sourceforge.stripes.action.SimpleMessage.getMessage(SimpleMessage.java:91)

at?net.sourceforge.stripes.validation.SimpleError.getMessage(SimpleError.java:102)

at?net.sourceforge.stripes.tag.ErrorsTag.doEndTag(ErrorsTag.java:349)

at?org.apache.jsp.WEB_002dINF.userRegister_jsp._jspService(userRegister_jsp.java:109)

at?org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

at?javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

at?org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)

...?46more

當Stripes驗證失敗時,不知道怎樣返回這些錯誤信息,解決方案也很簡單:從 Stripes 包中復制一份 StripesResources.properties 到項目的源代碼跟目錄下(與WEB/classess同級)即可。加入StripesResources.properties文件后輸入:name=boonya,[email?protected],age=12.;測試效果如下圖所示:

此時,年齡驗證錯誤;但是Stripes的錯誤消息已經知道該怎么提示錯誤信息給用戶了。

5、測試正確的驗證和Ajax效果

在表單輸入框中輸入符合驗證條件的數據如:name=boonya,[email?protected],age=23.;效果如下圖所示:

至此,整個示例程序測試完畢。

原文:http://sunl2014.blog.51cto.com/8889033/1532416

總結

以上是生活随笔為你收集整理的java 对象视图框架_Stripes视图框架Java对象属性验证和prototype.js Ajax的测试的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。