将字符串从百里香传递到控制器

时间:2019-07-15 08:06:20

标签: java spring-boot thymeleaf

我需要将字符串从文本区域传递到控制器中的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";
}

3 个答案:

答案 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”