【问题标题】:Spring MVC Thymeleaf Error: Parameter conditions not met for actual request parametersSpring MVC Thymeleaf 报错:实际请求参数不满足参数条件
【发布时间】:2017-08-01 18:16:23
【问题描述】:

我是 Spring MVC Thymeleaf 的新手,并试图让一些简单的输入/输出工作。下面的代码应该接受文本输入,然后在 按下“提交”按钮。但是,我收到以下错误:

org.springframework.web.bind.UnsatisfiedServletRequestParameterException:实际请求参数不满足参数条件“submitInput”:

InputHolder.java

public class InputHolder {
    public String input;
}

GreetingController.java

@Controller
public class GreetingController {

    @RequestMapping(value="/greeting", params={"submitInput"})
    public String recieveInput(final InputHolder inputHolder, final BindingResult bindingResult, Model model) {
        model.addAttribute("input", inputHolder.input);
        return "greeting";
    }

}

greeting.html

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Test Page</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
    <div>
        <form action="/greeting" th:object="${inputHolder}" method="POST">
            <fieldset>
                <div>
                    <label for="basicInput"></label>
                    <input type="text" th:field="*{basicInput}" />
                </div>
                <div>
                    <button type="submit" name="submitInput">Submit Input</button>
                </div>
                <div>
                    <p th:text="'Output: ' + ${input}"></p>
                </div>
            </fieldset>
        </form>
    </div>
</body>
</html>

【问题讨论】:

  • 首先,您以POST 提交表单,您显示的控制器方法是GET。这甚至行得通吗?我想知道...
  • 不,这不起作用 :P 抱歉,我是这个软件的新手,在上面的代码中犯了很多错误,正如我对 @Malhar 的评论中所述。无论如何,我知道我做错了什么,现在它可以工作了,谢谢!

标签: java html spring-mvc


【解决方案1】:

在控制器类中,您使用的是“params={”submitInput“}”,这意味着 url 需要该参数。 好像您没有在 url 中传递预期的参数“submitInput”,例如

localhost:8080/{appname}/greeting?submitInput={someinput}

【讨论】:

  • 好的,好的,谢谢!正如我所说,我是 Spring 新手,所以是的,我基本上只是不明白 params 修饰符的目的。不过,我仍然需要进行一些更改才能使其正常工作,我将在此处列出以供参考: 1. input 应该是私有的并且有一个 getter 和 setter。 2. basicInput 应该被称为input,就像它在InputHolder 类中一样 3. bindingResult 参数是不必要的,因此被删除了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多