我需要将字符串从文本区域传递到控制器中的doc变量。请帮忙。
HTML:
<div>
<textarea rows="10" cols="100" name="description"></textarea>
button class="button" onclick="window.location.href ='/send';">Send</button>
</div>
控制器:
@GetMapping("/send")
public String send(String doc) {
service.sendDoc(doc);
return "mainpage";
}
答案 0 :(得分:1)
您可以使用发布方法:
<form action="/send" method="POST">
<textarea rows="10" cols="100" name="description"></textarea>
<button type="submit">Submit</button>
</form >
控制器:
@PostMapping("/send")
public String send(@RequestParam("description") String description) {
service.sendDoc(description);
return "mainpage";
}
答案 1 :(得分:0)
使用GET方法从前端获取数据是一个错误的决定.....
顺便说一句,您可以尝试此代码
<form action="/send" method="GET">
<textarea rows="10" cols="100" name="description"></textarea>
<button type="submit">Submit</button>
</form >
像这样的控制器代码
@GetMapping("/send")
public String send(HttpServletRequest request) {
String doc= request.getParameter("description");
service.sendDoc(doc);
return "mainpage";
}
答案 2 :(得分:0)
我找到了这个问题的答案:
从Thymeleaf到Spring Boot获得价值
<form th:action="@{/send}" method="get">
<textarea th:name="doc" rows="10" cols="100" name="doc"></textarea>
<button type="submit">Send</button>
</form>
@GetMapping("/send")
public String send(@RequestParam(name="doc", required = false) String doc) {
//change required = false as per requirement
System.out.println("Doc: "+doc);
return "textarea-input";
}
注意:对于实体/模型,请使用“ th:field”