我目前正在学习Spring,我会在各种示例中继续讨论,但我没有在任何地方找到任何解释
我也找到了
return "redirect:/delete/{id}"
我理解id是一个变量,但是它做了什么。有什么区别
@RequestMapping(value = "/delete/{id}")
和
@RequestMapping(value = "/delete")
取自此示例http://www.javainterviewpoint.com/spring-mvc-crud-example-mysql/
控制器
@RequestMapping(value = "/delete/{id}")
public ModelAndView deleteEmployee(@ModelAttribute("employee") Employee employee,@PathVariable("id") int id)
{
employeeDAO.deleteEmployee(id);
return new ModelAndView("redirect:/employees");
}
模型
package com.javainterviewpoint;
import java.io.Serializable;
public class Employee implements Serializable
{
private static final long serialVersionUID = -1280037900360314186L;
private Integer id;
private String name;
private Integer age;
private String dept;
public Employee()
{
super();
}
public Employee(Integer id, String name, Integer age, String dept)
{
super();
this.id = id;
this.name = name;
this.age = age;
this.dept = dept;
}
public Integer getId()
{
return id;
}
public void setId(Integer id)
{
this.id = id;
}
答案 0 :(得分:3)
它是PathVariable
,您可以使用它,例如当您有用户并且需要编辑或删除一个用户时。这将告诉spring方法你点击了哪个用户。
您可以阅读Spring MVC guide的URI模板模式部分,以获得更多说明。
使用这种方法,您可以将用户的ID附加到您正在调用的网址,而Spring会将网址中找到的ID映射到您在方法deleteEmployee
中定义的变量(@PathVariable("id") int id
)
例如,您可以使用此网址调用deleteEmployee
方法:
然后employeeDAO.deleteEmployee(id);
调用将以12345
作为ID
答案 1 :(得分:3)
@RequestMapping(value = "/delete/{id}")
表示您可以删除具有特定ID的员工。完整请求可以是:http://yourSite.com/delete/42
然后,您可以看到@PathVariable("id") int id
- 它的平均变量id
将包含来自网址的值。
有了这个方法,你可以这样做:
/doSomething/{someUserName}/{someValue}/{someId}
你将拥有:
@PathVariable("someUserName") String someUserName, @PathVariable("someValue") String id, @PathVariable("id") int id