有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我创建数据字段名"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}">

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


共 (2) 个答案

  1. # 1 楼答案

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

    @PostMapping("/save")
    public String addNewCourse( @RequestParam("csPreRequest") String course ) {
    
        System.out.println("\n Pre Reqest Courses : "+course+"\n\n");   
    
        return "redirect:/courses/add";
    
    }
    
  2. # 2 楼答案

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

    你应该做的是: 1.当调用POST /save时,传递的值应保持不变。 2.调用GET /add时,它应该检索持久化的值并在模型中设置