java - 使用从 Spring Controller 获取的值填充表单

标签 java spring spring-mvc

我只是在 Spring MVC 中创建一个 CRUD 应用程序。我想编辑学生详细信息。我创建了一张用于添加学生的表格。如何使用相同的表单来填充学生详细信息以进行编辑?

Controller

@RequestMapping(value="/add", method = RequestMethod.GET)
public String addStudent(@RequestParam("studentName") String name,@RequestParam("studentId") String studId){
    System.out.println("Student Id : "+ studId);
    System.out.println("Student "+name+" added");
    list.add(name);
    return "redirect:get";
}

@RequestMapping(value="/edit/${index}", method = RequestMethod.GET)
public String editStudent(@PathVariable("index") int index, Model model){
    System.out.println("Edit Student with Index " + index);
    model.addAttribute("studentId",index);
    model.addAttribute("studentName",list.get(index));
    return "student";
}

表格

<c:url value="/students/add" var="addStudentAction"></c:url>
<form action="${addStudentAction}" method="get">
    <input type="hidden" name="studentId">
    <input type="text" name="studentName"></input>
    <input type="submit" name="submit" value="Add Student" />
</form>

我想在表单字段中设置studentId和studentName,这些字段是在editStudent方法的模型中设置的。

最佳答案

您问的是一个非常基本的问题,最好从教程和文档中学习。

以下是步骤的简短列表:

  • 使用Spring tags for rendering form ( <form:form><form:input> 等)
  • 创建一个表示表单值的对象并将其从 Controller 导出到 View
  • 将此对象作为处理表单提交的 Controller 方法中的参数

关于java - 使用从 Spring Controller 获取的值填充表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41713042/

相关文章:

java - 如何从 JSONObject 获取文件或流?

java - 多个url映射到同一个controller方法时,查找哪个url访问controller

java - 在名称为 'dispatcher' 的 DispatcherServlet 中找不到具有 URI [] 的 HTTP 请求的映射

java - 将 CodeStar Spring MVC 项目改为 Spring Boot

java - 求解单偶幻方 (Lux)

java - Java DecimalFormat 的问题

javax.ws.rs.NotSupportedException : Could not find message body reader for type: class

java - 两个 docker 容器之间通信出现问题

java - Spring Data JPA - 删除多对多条目

java - 如何修复正确添加到设置 Hibernate 实体