Java Spring Web流模型验证获胜';我不能正常工作

Java Spring Web流模型验证获胜';我不能正常工作,java,spring,jsp,validation,spring-webflow,Java,Spring,Jsp,Validation,Spring Webflow,我目前正在开发一个web应用程序,它对一些表单使用SpringWebFlow。我想使用spring提供的自动验证,因此 在我的SpringWebFlow配置文件中实例化了一个“validator”bean(类LocalValidatorFactoryBean) 在我的模型中创建了一个签名为validate{VieStateId}(ValidationContext context)的方法(它作为模型与流配置中的视图状态相关联) Used spring:绑定spring标记库中的标记,以显示错误

我目前正在开发一个web应用程序,它对一些表单使用SpringWebFlow。我想使用spring提供的自动验证,因此

  • 在我的SpringWebFlow配置文件中实例化了一个“validator”bean(类LocalValidatorFactoryBean)
  • 在我的模型中创建了一个签名为validate{VieStateId}(ValidationContext context)的方法(它作为模型与流配置中的视图状态相关联)
  • Used spring:绑定spring标记库中的标记,以显示错误消息(如果出现)
到目前为止,当验证器被关联时,我的web流视图页面将不会更进一步,所以我可以看到它将进入我的验证方法。问题是我无法显示我的错误消息。在我的bind标记中测试${status.error}时,它总是返回false

我的模型类中的Validate方法

public void validateEnterMovieDetails(ValidationContext context) {
    if (context.getUserEvent().equals("next")) {
        MessageContext messages = context.getMessageContext();

        if (this.title.isEmpty() || this.title == null) {
            messages.addMessage(new MessageBuilder().error().source("title").code("validation.movie.title.required").build())
        }
    }
}
我的JSP文件

<form:form modelAttribute="movie" action="${flowExecutionUrl}">
    <spring:bind path="title">
        <c:if test="${status.error}">
            <form:errors path="title" />
        </c:if>
    </spring:bind>
</form:form>

我的问题是,我的验证似乎正在工作,因为当我应用这个验证方法时,我无法转到流中的下一个视图,尽管我的绑定似乎根本找不到任何错误


所以我希望任何人都能帮助我解决这个问题,因为我已经尝试过在网上搜索答案,但似乎没有任何帮助。您可以在我的GitHub帐户上查看我的项目的完整源代码-

EnterMovieDetails真的是您视图的id吗?(如果您可以发布WebFlow配置文件,那将很有帮助)

如果您使用SWF 2,请参阅第4.10段

首先需要确保验证方法的名称中包含视图id

另外,我认为您不需要在JSP中围绕错误标记使用绑定标记


希望有帮助

为了防止注册错误的路径与form:errors标签的要求不匹配,请尝试指定
,它将输出与任何字段相关的任何错误(但可能有助于了解问题所在)。当我使用*时,它不会显示任何错误文本。我尝试使用新的MessageBuilder().error().source(“title”).defaultText(“有一个错误”).build(),但它不起作用
${status.error}
引用的测试是什么?那个变量是在哪里设置的?嗨,抱歉EnterMovieDetails不是ID,这是我匆忙写的错误。真正的ID是“createmovie1”。此处可以看到创建电影流的web流配置文件-