国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

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>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 自贡市| 伊川县| 永吉县| 夹江县| 三明市| 丰原市| 平和县| 塘沽区| 东港市| 保德县| 抚远县| 潞城市| 都江堰市| 祥云县| 孟连| 攀枝花市| 高阳县| 广汉市| 潞西市| 东乡族自治县| 太和县| 潮州市| 罗甸县| 固阳县| 响水县| 阳信县| 自治县| 承德市| 桂阳县| 沛县| 太湖县| 义乌市| 如皋市| 得荣县| 遂平县| 稷山县| 梅州市| 黔西| 漳州市| 封丘县| 兰州市|