【发布时间】:2019-03-02 17:40:57
【问题描述】:
与 Spring / Thymeleaf 进行一场精彩的战斗,决定尝试将控制台应用程序转变为 Web 应用程序。
我有一个带有 3 个不同按钮的表单,每个按钮都将在控制器中使用不同的方法。然后我打算让这些方法各自做自己的事情并根据需要返回结果,但目前在参数方面出现错误。
在网上看,好像我正在按照给出的示例进行操作,但并不高兴,非常感谢任何帮助。
例外:
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Sat Mar 02 17:08:48 GMT 2019
There was an unexpected error (type=Bad Request, status=400).
Parameter conditions "action=tb_name" not met for actual request parameters: tb_name={tb_name}
控制器:
@RequestMapping(value="/sparql", method=RequestMethod.POST, params="action=tb_age")
public String tb_age(Model model){
String queryString = "tb_age query";
String queryResult = "tb_age result";
model.addAttribute("sparqlQuery", queryString);
model.addAttribute("sparqlAnswer", queryResult);
model.addAttribute("now", dateTime);
return "sparqlanswer";
}
@RequestMapping(value="/sparql", method=RequestMethod.POST, params="action=dc_age")
public String dc_age(Model model){
String queryString = "dc_age query";
String queryResult = "dc_age result";
model.addAttribute("sparqlQuery", queryString);
model.addAttribute("sparqlAnswer", queryResult);
model.addAttribute("now", dateTime);
return "sparqlanswer";
}
表单html页面:
<p>
<form action="#" data-th-action="@{/sparql/question}" data-th-object="${model}" method="post">
<p>How old is tb</p><button type="submit" name="action" value="tb_age">Ask?</button>
<p>How old is dc</p><button type="submit" name="action" value="dc_age">Ask?</button>
<p>What is the birth name of tb?</p><button type="submit" name="tb_name" value="tb_name">Ask?</button>
</form>
</p>
我要转发到的结果 html 页面:
<p>Results:</p>
<p>Question asked: </p>
<p>Sparql Query: <strong th:text="${sparqlQuery}"></strong></p>
<p>Answer: <strong th:text="${sparqlAnswer}"></strong></p>
【问题讨论】:
标签: java spring spring-boot spring-mvc thymeleaf