当前位置: 首页 > 知识库问答 >
问题:

需要Errors/BindingResult参数

梁嘉祥
2023-03-14

我正在学习Spring MVC,并试图验证表单。当用户搜索空白字符串时,将显示错误。当我执行我的代码时,我得到以下错误

Errors/BindingResult参数应该紧随控制器方法签名中的模型属性参数之后:public java.lang.string com.mycompany.controller.catalog.searchController.search(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse,java.lang.String,org.springframework.validation.BindingResult,org.springframework.ui.model)throws

package com.mycompany.controller.catalog;

import org.broadleafcommerce.common.exception.ServiceException;

import org.broadleafcommerce.core.web.controller.catalog.Mysearchcontroller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import  org.springframework.web.method.support.ModelAndViewContainer;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

@Controller
@RequestMapping("/search")
public class SearchController extends Mysearchcontroller {


    @RequestMapping("")
    public String search(HttpServletRequest request, HttpServletResponse response,
            @RequestParam(value = "q") String q,BindingResult errors,Model model) throws ServletException, IOException, ServiceException {
        return search3(model, request,response, q ,errors);
    }

}

共有1个答案

子车安和
2023-03-14

BindingResult参数只能在与@ModelAttribute注释方法的结合中使用。没有模型属性,就没有绑定,因此就没有bindingresult实例可用。因此,在您的示例中,您必须删除bindingresult参数,因为在您的示例中,由于缺少模型属性,它永远不会起作用。

模型属性与模型不相同(正如上面所暗示的那样)。模型属性是模型的一部分。

 类似资料:
  • 我通过剖析示例应用程序来自学Spring,然后在这里和那里添加代码来测试我在剖析期间开发的理论。在测试我添加到Spring应用程序的一些代码时,我收到了以下错误消息: 错误消息引用的方法是: 当我试图在web浏览器中加载/catowners url模式时,触发了此错误消息。我已经查看了这个页面和这个帖子,但解释似乎不清楚。 谁能告诉我如何解决此错误,并解释它的含义? 编辑: 基于Biju Kun的

  • 设置一个应该在图像上放置广告的应用程序时,我在运行代码时遇到了这个WordPress错误,这是一个令人沮丧的星期试图修复这个问题。 我希望它能工作,但它给了我以下错误:警告:preg_replace_callback():需要参数2,' 如果有人能想出一个解决方案,那将是惊人的,非常感谢!

  • 我刚刚更新了PHP在我的服务器从PHP 5到PHP 7,我得到了这些警告: 警告:preg_replace_callback()[function.preg-replace-callback0]:要求参数2“chr(\1)”是有效的回调 警告:preg\u replace\u callback() 警告:preg_replace_callback()[function.preg-replace-c

  • 问题内容: 在回答这个问题时,谈到要调用时需要参数标签。这在Swift中很正常。 但是,陌生力量在起作用: 要在此处使用参数标签,必须明确声明。 在文档中,我还没有看到非常详尽的解释。哪些种类的类/实例/全局函数需要自变量标签?是否始终使用参数标签导出和导入Obj-C方法? 问题答案: 从Swift 3.0开始,这种情况再次发生了变化:除非您使用外部名称明确选择退出,否则所有方法,函数和初始化器都

  • 我尝试了上述命令的各种组合,但结果总是上面给出的错误消息。为什么会发生这样的事情--因为我是按照文档所说的去做的?

  • 我试图从特定的Dockerfile构建镜像,并同时标记它;我遵循的在线说明,但我得到以下错误: “docker build”只需要1个参数 这是我运行的命令: 我尝试了上述命令的各种组合,但结果总是上面给出的错误消息。为什么会发生这种情况——因为我在遵循留档所说的?