无法将数据从视图传递到控制器

时间:2016-08-16 13:07:32

标签: java hibernate spring-web

任何人都可以解释一下,如何将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;

1 个答案:

答案 0 :(得分:1)

当我在我的id声明中添加“= 0”时问题解决了:

@Entity(name = "tasks")
public class Task {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id = 0L;