【发布时间】:2015-08-16 18:30:21
【问题描述】:
请帮助对页面 Freemarker 进行验证 jsr 303。 有Class Course,Controller,文件messages.properties,创建的bean id = "messageSource"> 我需要在 Freemarker 中创建一个页面来创建一门新课程。填写空字段或范围不正确时输出错误信息。
public class Course {
@NotEmpty
private String name;
@NotEmpty
private String category;
@Range(min = 20, max = 25)
int age;
//get and set
}
NotEmpty.course.name = Name is required!
NotEmpty.course.category= Categoryis required!
Range.course.age = Age value must be between 20 and 25
@Controller
@RequestMapping("/customer")
public class SignUpController {
@RequestMapping(value = "/signup", method = RequestMethod.POST)
public String addCustomer(@Valid Course course, BindingResult result) {
if (result.hasErrors()) {
return "SignUpForm";
} else {
return "Done";
}
}
@RequestMapping(method = RequestMethod.GET)
public String displayCustomerForm(ModelMap model) {
model.addAttribute("course", new Course());
return "SignUpForm";
}
}
<!-- bind your messages.properties -->
<bean class="org.springframework.context.support.ResourceBundleMessageSource"
id="messageSource">
<property name="basename" value="messages" />
</bean>
如何制作这个页面?
<html>
<head>
<style>
.error {
color: #ff0000;
}
.errorblock {
color: #000;
background-color: #ffEEEE;
border: 3px solid #ff0000;
padding: 8px;
margin: 16px;
}
</style>
</head>
<body>
<h2>Course:</h2>
<form class="form-horizontal" commandName="course" method=POST>
<fieldset>
<div class="control-group">
<label class="control-label">Name</label>
<div class="controls">
<input id="name" name="name" class="span5" type="text"/>
<@spring.showErrors "<br>" />
</div>
</div>
<div class="control-group">
<label class="control-label">Description</label>
<div class="controls">
<textarea id="description" name="description" class="span5" rows="3"></textarea>
<@spring.showErrors "<br>" />
</div>
</div>
</div>
<div class="form-actions">
<button id="createButton" name="createButton" class="btn btn-primary" type="submit">Create</button>
</div>
</fieldset>
</form>
</body>
</html>
【问题讨论】:
标签: spring validation freemarker