Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么程序显示空结果?_Java_Spring Boot_Thymeleaf - Fatal编程技术网

Java 为什么程序显示空结果?

Java 为什么程序显示空结果?,java,spring-boot,thymeleaf,Java,Spring Boot,Thymeleaf,我创建数据字段名“csPreRequest”,并将其作为模型属性添加到html表单中,如下所示 @GetMapping("/add") public String addNewCourse(Model model) { String csPreRequest = ""; model.addAttribute("csPreRequest",csPreRequest); return "admin/add-course-module"; } 我需要做的是用我的自定义数

我创建数据字段名
“csPreRequest”
,并将其作为模型属性添加到html表单中,如下所示

@GetMapping("/add")
public String addNewCourse(Model model) {

    String csPreRequest = "";
    model.addAttribute("csPreRequest",csPreRequest);

    return  "admin/add-course-module";
}
我需要做的是用我的自定义数据填充此字段并返回控制器类。我尝试如下:

@PostMapping("/save")
public String addNewCourse(@ModelAttribute("csPreRequest") String course) {

    System.out.println("\n Pre Reqest Courses : "+course+"\n\n");   

    return "redirect:/courses/add";
}
我的html代码如下所示:

      <input type="text" id="csPreRequest" th:field="${csPreRequest}">


我的程序运行良好,但没有打印结果。这里出了什么问题?

在GetMapping中,您正在使用变量
csPreRequest
设置model属性,您将该变量初始化为一个空字符串,并且将呈现一个空字符串

你应该做的是: 1.调用
POST/save
时,应保留传递的值。
2.调用
GET/add
时,它应检索模型中保留和设置的值。

返回控制器时,您应尝试
@RequestParam

@PostMapping("/save")
public String addNewCourse( @RequestParam("csPreRequest") String course ) {

    System.out.println("\n Pre Reqest Courses : "+course+"\n\n");   

    return "redirect:/courses/add";

}

您是如何运行代码的?您知道控制台应该在哪里打印代码吗?请为csPreRequest和check提供一个值。由于您提供的是一个空字符串,这就导致了问题。我要问的是,我需要从forntend分配值,并将该值获取给控制器。我的问题是分配值在Controlleries中丢失,因为您有两个不同的端点,每个端点都有自己的作用域,在post请求中设置的任何内容在到达控制器方法的末尾时都会消失,除非您将其持久化