我根据以下内容在MANY Spring-MVC控制器中使用以下自定义编辑器:
一个控制器
binder.registerCustomEditor(BigDecimal.class, new CustomNumberEditor(BigDecimal.class, NumberFormat.getNumberInstance(new Locale("pt", "BR"), true));
Run Code Online (Sandbox Code Playgroud)
其他控制器
binder.registerCustomEditor(BigDecimal.class, new CustomNumberEditor(BigDecimal.class, NumberFormat.getNumberInstance(new Locale("pt", "BR"), true));
Run Code Online (Sandbox Code Playgroud)
另一个控制器
binder.registerCustomEditor(BigDecimal.class, new CustomNumberEditor(BigDecimal.class, NumberFormat.getNumberInstance(new Locale("pt", "BR"), true));
Run Code Online (Sandbox Code Playgroud)
注意注册了相同的自定义编辑器
问题:如何设置像这样的全局自定义编辑器以避免设置每个控制器?
问候,
我是Spring的新手,我正在尝试创建一个验证日期格式的表单(即:它只接受格式为" MM/dd/yyyy"的日期,如果用户输入" mm-dd-yyyy"它应显示错误消息).
我如何用Spring实现这一目标?
我看了很多帖子和答案像这个和这个,推荐使用@InitBinder的(我试过,但不能使它工作BTW)控制器.但是,如果我有一个不同日期的表格怎么办?或者如果我的控制器管理来自不同表格的多个帖子请求,并且每个人都需要不同的日期验证?
目前我有这样的表格:
<form:form action="getReportFile.html" commandName="staticReportForm">
<table>
<tr>
<td>Reports:</td>
</tr>
<tr>
<td><form:select path="report" items="${staticReports}"/>
</td>
</tr>
<tr>
<td>Date (MM/DD/YYYY) (empty for most recent possible):<FONT color="red"><form:errors
path="date" /></FONT></td>
</tr>
<tr>
<td><form:input path="date" /></td>
</tr>
<tr>
<td><input type="submit" value="Submit" /></td>
</tr>
</table>
</form:form>
Run Code Online (Sandbox Code Playgroud)
这将是支持表单的bean(@DateTimeFormat注释只有在你输入正确的格式时才能使它工作):
public class StaticReportForm {
@NotEmpty
private String report;
@DateTimeFormat(pattern="MM/dd/yyyy")
private Date date;
public String getReport() {
return report;
}
public void setReport(String report) {
this.report …Run Code Online (Sandbox Code Playgroud)