无法将数据从视图传递到控制器
Cannot pass data from view to controller
谁能解释一下,如何将 id 从视图传递到控制器?
sources
问题:尝试编辑现有任务时,我添加了一个新任务。使用新的编辑名称。
@RequestMapping("/edit/{id}")
public String editTask(@PathVariable("id") Long id, Model model) {
model.addAttribute("task", taskService.getTaskById(id));
model.addAttribute("tasks", taskService.listTasks());
return "tasks";
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addTask(@ModelAttribute("task") Task task) {
if (task.getId() == null) {
taskService.addTask(task);
} else {
taskService.updateTask(task);
}
return "redirect:/";
}
因此,在 addTask()
task.id
中始终 = null
,但 task.taskName
不为空。 Long id
怎么了?
也许,这会在某种程度上影响?
@Transactional
@Entity(name = "tasks")
public class Task {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Basic
private String taskName;
当我在我的 id 声明中添加“=0”时,问题就解决了:
@Entity(name = "tasks")
public class Task {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id = 0L;
谁能解释一下,如何将 id 从视图传递到控制器? sources
问题:尝试编辑现有任务时,我添加了一个新任务。使用新的编辑名称。
@RequestMapping("/edit/{id}")
public String editTask(@PathVariable("id") Long id, Model model) {
model.addAttribute("task", taskService.getTaskById(id));
model.addAttribute("tasks", taskService.listTasks());
return "tasks";
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public String addTask(@ModelAttribute("task") Task task) {
if (task.getId() == null) {
taskService.addTask(task);
} else {
taskService.updateTask(task);
}
return "redirect:/";
}
因此,在 addTask()
task.id
中始终 = null
,但 task.taskName
不为空。 Long id
怎么了?
也许,这会在某种程度上影响?
@Transactional
@Entity(name = "tasks")
public class Task {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Basic
private String taskName;
当我在我的 id 声明中添加“=0”时,问题就解决了:
@Entity(name = "tasks")
public class Task {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id = 0L;