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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Validation校驗(yàn)(一)

2019-11-14 11:09:33
字體:
供稿:網(wǎng)友
校驗(yàn)理解項(xiàng)目中,通常使用較多的是前端的校驗(yàn),比如頁面中的js校驗(yàn),對于安全要求較高點(diǎn)建議在服務(wù)端進(jìn)行校驗(yàn)服務(wù)端校驗(yàn)控制層Controller:校驗(yàn)頁面請求的參數(shù)合法性,在服務(wù)端控制層Controller校驗(yàn),不區(qū)分客戶端類型(瀏覽器,手機(jī)客戶端,遠(yuǎn)程接口調(diào)用等)業(yè)務(wù)層service:主要校驗(yàn)關(guān)鍵業(yè)務(wù)參數(shù),僅限于service接口中使用的參數(shù)持久層dao:一般是不校驗(yàn)的sPRingmvc校驗(yàn)springmvc使用hibernate的校驗(yàn)框架validation(和hibernate沒有任何關(guān)系)。校驗(yàn)思路:頁面提交請求的參數(shù),請求到Controller方法中,使用validation進(jìn)行校驗(yàn),如果校驗(yàn)出錯(cuò),將錯(cuò)誤信息展示到頁面需求:用戶信息修改,添加校驗(yàn)環(huán)境準(zhǔn)備hibernate的校驗(yàn)框架validation所需要的jar包:配置校驗(yàn)器springmvc.xml
	<!-- 校驗(yàn) -->	<bean id="validator"		class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">		<!-- 校驗(yàn)器 -->		<property name="providerClass" value="org.hibernate.validator.HibernateValidator" />		<!-- 指定校驗(yàn)使用的資源文件,如果不指定則默認(rèn)使用classpath下的ValidationMessages.properties -->		<property name="validationMessageSource" ref="messageSource" />	</bean>	<!-- 校驗(yàn)錯(cuò)誤信息配置文件 -->	<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" />		<!-- 對資源文件內(nèi)容緩存時(shí)間,單位秒 -->		<property name="cacheSeconds" value="120" />	</bean>新建校驗(yàn)信息資源文件CustomValidationMessages.properties校驗(yàn)器注入到處理器適配器中springmvc.xml
<mvc:annotation-driven conversion-service="conversionService" validator="validator"></mvc:annotation-driven>在pojo中添加校驗(yàn)規(guī)則
//檢查名稱在3到5個(gè)字符中間	@Size(min = 3, max = 5, message = "{user.name.length}")	private String name;	// 年齡不能為空	@NotNull(message = "{user.age.isNull}")	private Integer age;Controller添加驗(yàn)證
// 需要在校驗(yàn)的pojo前邊添加@Validated,在需要校驗(yàn)的pojo后邊添加BindingResult接收校驗(yàn)輸出錯(cuò)誤信息	// 注意:@Validated和BindingResult是配對出現(xiàn),并且形參順序是固定的(一前一后)	@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頁面顯示錯(cuò)誤信息
<c:if test="${errors!=null }">				<tr>					<td><c:forEach items="${errors }" var="error">						${error.defaultMessage }<p />						</c:forEach></td>				</tr>			</c:if>
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 苍南县| 岳阳县| 久治县| 昭苏县| 民和| 郁南县| 织金县| 榆社县| 淮阳县| 台山市| 汤阴县| 翁源县| 蒲江县| 怀化市| 焦作市| 区。| 伊宁县| 原阳县| 宜兰县| 钦州市| 石门县| 张北县| 松溪县| 茶陵县| 怀来县| 博野县| 奎屯市| 嵊泗县| 德兴市| 怀化市| 通榆县| 满城县| 额敏县| 通许县| 建平县| 灵丘县| 高密市| 佛山市| 普格县| 双流县| 太康县|