相关疑难解决方法(0)

如何在Spring-MVC中注册全局自定义编辑器?

我根据以下内容在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)

注意注册了相同的自定义编辑器

问题:如何设置像这样的全局自定义编辑器以避免设置每个控制器?

问候,

data-binding spring spring-mvc

24
推荐指数
3
解决办法
2万
查看次数

如何在Spring表单中验证日期格式

我是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)

java spring spring-mvc java-ee

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

spring ×2

spring-mvc ×2

data-binding ×1

java ×1

java-ee ×1