发表于: 2018-03-24 05:02:04

2 608


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>


明天任务:做饭,代码什么的到时候看心情吧







返回列表 返回列表
评论

    分享到