a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 學院 > 開發設計 > 正文

Validation校驗(一)

2019-11-14 10:23:24
字體:
來源:轉載
供稿:網友
校驗理解項目中,通常使用較多的是前端的校驗,比如頁面中的js校驗,對于安全要求較高點建議在服務端進行校驗服務端校驗控制層Controller:校驗頁面請求的參數合法性,在服務端控制層Controller校驗,不區分客戶端類型(瀏覽器,手機客戶端,遠程接口調用等)業務層service:主要校驗關鍵業務參數,僅限于service接口中使用的參數持久層dao:一般是不校驗的sPRingmvc校驗springmvc使用hibernate的校驗框架validation(和hibernate沒有任何關系)。校驗思路:頁面提交請求的參數,請求到Controller方法中,使用validation進行校驗,如果校驗出錯,將錯誤信息展示到頁面需求:用戶信息修改,添加校驗環境準備hibernate的校驗框架validation所需要的jar包:配置校驗器springmvc.xml
	<!-- 校驗 -->	<bean id="validator"		class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">		<!-- 校驗器 -->		<property name="providerClass" value="org.hibernate.validator.HibernateValidator" />		<!-- 指定校驗使用的資源文件,如果不指定則默認使用classpath下的ValidationMessages.properties -->		<property name="validationMessageSource" ref="messageSource" />	</bean>	<!-- 校驗錯誤信息配置文件 -->	<bean id="messageSource"	class="org.springframework.context.support.ReloadableResourceBundleMessageSource">		<!-- 資源文件名 -->		<property name="basenames">			<list>				<value>classpath:CustomValidationMessages</value>			</list>		</property>		<!-- 資源文件編碼格式 -->		<property name="fileEncodings" value="utf-8" />		<!-- 對資源文件內容緩存時間,單位秒 -->		<property name="cacheSeconds" value="120" />	</bean>新建校驗信息資源文件CustomValidationMessages.properties校驗器注入到處理器適配器中springmvc.xml
<mvc:annotation-driven conversion-service="conversionService" validator="validator"></mvc:annotation-driven>在pojo中添加校驗規則
//檢查名稱在3到5個字符中間	@Size(min = 3, max = 5, message = "{user.name.length}")	private String name;	// 年齡不能為空	@NotNull(message = "{user.age.isNull}")	private Integer age;Controller添加驗證
// 需要在校驗的pojo前邊添加@Validated,在需要校驗的pojo后邊添加BindingResult接收校驗輸出錯誤信息	// 注意:@Validated和BindingResult是配對出現,并且形參順序是固定的(一前一后)	@RequestMapping("/editUserSubmit")	public String editUserSumit(Model model, Integer id, @Validated UserCustom userCustom, BindingResult bindingResult)			throws Exception {		if (bindingResult.hasErrors()) {			List<ObjectError> errors = bindingResult.getAllErrors();			for (ObjectError objectError : errors) {				System.out.println(objectError.getDefaultMessage());			}			model.addAttribute("errors", errors);			// 重定向			return "user/editUser";		} else {			usersservice.updateUser(id, userCustom);			// 重定向			return "redirect:queryUsers.action";		}	}jsp頁面顯示錯誤信息
<c:if test="${errors!=null }">				<tr>					<td><c:forEach items="${errors }" var="error">						${error.defaultMessage }<p />						</c:forEach></td>				</tr>			</c:if>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 超碰精品 | 久久99精品久久久久久久久久久久 | 欧美精品a∨在线观看不卡 国产精品一区二区三区在线 | 亚洲一区二区三区久久 | 欧美精品一区二区视频 | 五月激情天 | 日本黄色网址大全 | 一级全黄少妇性色生活片毛片 | 久久久久国产精品 | 男女色啪网 | 国产精品99久久久久久www | 91.com在线 | 黄色污污视频在线观看 | 久久成人免费 | 一本色道久久综合狠狠躁篇怎么玩 | 色在线免费视频 | 日本中文字幕一区 | 国产成人一区 | 天天草夜夜操 | 国产成人精品一区二三区四区五区 | 日韩有码一区二区三区 | 国产精品久久久久久久一区探花 | 久久9视频 | 国产精品一区一区三区 | 高清一区二区三区视频 | 国产成人在线不卡 | 欧美成a| 一区二区三区视频 | 精品视频一区二区三区 | 欧美一级一区 | 中文字幕亚洲精品 | 国产综合视频在线播放 | 资源av | 久久精品影视 | 国产成人午夜片在线观看高清观看 | 综合久久综合久久 | 亚洲黄色一级毛片 | 亚洲精品久久久一区二区三区 | 亚洲精品国偷拍自产在线观看蜜桃 | 久久精品久久精品国产大片 | 亚洲精品久久久久久一区二区 |