发表于: 2018-03-24 05:02:04
2 609
1. 之前那个网页,又加了点新功能, 传了一个叫free passes 的值,用@Min和@Max限定区间
@Min(value=0, message="must be greater than or equal to zero")
@Max(value=10, message="must be less than or equal to ten")
我现在做的这个注册界面其实非常简单,再搭建完后端环境之后,你需要先建立一个customer.java放你需要用到的参数,比如上图那个,需要firstName, lastName 和 freePasses, 可以用注释来达到想要的条件设置,比如像完成0-10区间用
@Min(value=0, message="must be greater than or equal to zero")
@Max(value=10, message="must be less than or equal to ten")
想实现Lastname必须填东西用
@NotNull(message="is required")
@Size(min=1,message="is required")
然后,你需要一个customerController.java来控制页面和页面需要用到的方法,比如你想要页面运行submit后判断是否停留再原页面, 需要再处理页面的class里写上
if(theBindingResult.hasErrors()) {
return "customer-form";
}
else {
return "customer-confirmation";
}
ps: theBindingResult用来绑customer类来确定customer里的setter和getter是否成功输入输出值。
。 customerController.java里也需要写上,包括页面跳转用@RequestMapping,预处理用@InitBinder等注释。
后端搞的差不多了,需要写前端页面,这里需要两个前端页面,一个显示输入输出选项的(上图),一个用来display输入输出,
这里我用jsp写的,我挑一个你看怎么写的,用form:input会自动生成输入栏,传参数名称到path里,让jsp可以把值传送到后端参数里,error是我用css写的红色格式,字体为红色
Last name(*): <form:input path="lastName"/>
<form:errors path="lastName" cssClass="error"></form:errors>
最后显示栏里用${customer.lastName}获得customer里的参数
总而言之,再我现在学习的后端知识里,想完成比较简单的功能一共3步,第一步,需要写.java文件,第二步,jsp。 第三部写controller。
2. 写了个邮政编码的限定,用@Pattern(regexp="^[a-zA-Z0-9]{5}", message="only 5 chars/digits"), 那个^[a-zA-Z0-9]{5}就是贴吧吹逼入门的正则表达式,lol我今天查了才知道regular experssion叫正则表达式。。我一直叫一般表达式。
3. 面对String和Integer的转换如何显示Invalid number而不是Exception
首先需要properties文件写如果type错误匹配会出现啥错误提示
typeMismatch.customer.freePasses=Invalid number
然后需要配置servlet.xml 文件,封装个bean用来告诉系统如果出错调用这个bean,
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames" value="resources/message"/>
</bean>
明天任务:做饭,代码什么的到时候看心情吧
评论