Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsp Spring MVC<;形式:错误/>;标签不';找不到错误消息_Jsp_Spring Mvc_Jsp Tags - Fatal编程技术网

Jsp Spring MVC<;形式:错误/>;标签不';找不到错误消息

Jsp Spring MVC<;形式:错误/>;标签不';找不到错误消息,jsp,spring-mvc,jsp-tags,Jsp,Spring Mvc,Jsp Tags,我与编写JSP文件的前端开发人员一起工作。我们有一个正常工作的表单,除了验证/绑定/处理错误似乎无法用Spring的标记显示 我已经确认设置了错误,并且确定了错误的正确路径。假定应该呈现它们,不管路径如何,但它什么也不显示 我需要进入标记库源代码来推断出哪里出了问题吗?简单回答:必须在元素中才能绑定到模型的“command”对象。我发现了两件事 1) 确保在表单标记中指定表单bean/命令对象的名称 <form:form method="post" enctype="multipart/f

我与编写JSP文件的前端开发人员一起工作。我们有一个正常工作的表单,除了验证/绑定/处理错误似乎无法用Spring的
标记显示

我已经确认设置了错误,并且确定了错误的正确路径。假定
应该呈现它们,不管路径如何,但它什么也不显示

我需要进入标记库源代码来推断出哪里出了问题吗?

简单回答:必须在元素中才能绑定到模型的“command”对象。

我发现了两件事

1) 确保在表单标记中指定表单bean/命令对象的名称

<form:form method="post" enctype="multipart/form-data" commandName="salesOrder">


2) 请确保按其类名命名表单bean/command对象。在上面的示例中,我的类是com.abc.xyz.SalesOrder。如果我在模型中称它为“so”或“order”,那么它将不会显示错误。

不知道我是否有相同的问题。我的问题是我为@ModelAttribute设置了错误的值。将值设置为工程的commandName很好

这只是为了子孙后代,因为答案已经被接受了。我自己也有同样的症状,但问题是form:form-method属性值区分大小写:即method=“post”不会显示错误,而method=“post”可以正常工作。这里需要特别注意的是,一切都按预期工作——表单视图按预期显示,因为验证失败,除了错误在最终JSP中不可见之外

此行为将存在于任何扩展AbstractFormController的控制器上,因为

protected boolean isFormSubmission(HttpServletRequest request)
是否使用“POST.equals”而不是“POST.equalsIgnoreCase”。

问题-为什么“form:error path=“xyzProperty”不会在jsp上打印错误

安瑟沃-

  • BindingResult确实具有objectName属性,该属性使用jsp中的commandName绑定错误列表

  • Defualt objectName=您的对象名。例如,如果类名为MyCareerFB,则objectName=MyCareerFB。注意小写的第一个字符,它遵循bean命名约定

  • 在jsp中保持commandName值和objectName相同,否则错误将不会与对象绑定,jsp将永远不会打印错误消息


  • 您可能没有为commandName表单属性使用正确的命名约定。这就是我遇到的问题。我有一个名为“XYZTask”的类,并将表单commandName=“XYZTask”命名。所有表单映射都有效,但我没有看到标记报告的错误。我将我的类重命名为“XYZTask”,表单commandName=“XYZTask”,并且错误开始工作。

    您确定验证代码设置了错误吗?你能粘贴一些代码吗?我在验证代码中设置了断点,在SimpleFormController中设置了showForm(),我看到了所有的错误。ModelAndView留下了包含错误的showForm。但是在jsp中,form:errors标记没有显示任何绑定,但是其他模型数据被正确呈现。我在ErrorsTag.shouldRender中设置了一个断点,它总是返回false,getBindStatus()未找到任何目标对象。我不知道如何发布任何代码,因为这是嵌入在一个巨大的系统中的。我知道如果我建立了一个例子,它会非常有效/