Java 如何将请求重定向到另一个jsp页面/视图
我正在尝试创建员工列表。在创建员工时,我使用服务。创建后,我需要重定向到学生列表页面。下面给出了我的示例代码,最后添加的项目在页面每次刷新时都会重复。请指教Java 如何将请求重定向到另一个jsp页面/视图,java,spring,jsp,Java,Spring,Jsp,我正在尝试创建员工列表。在创建员工时,我使用服务。创建后,我需要重定向到学生列表页面。下面给出了我的示例代码,最后添加的项目在页面每次刷新时都会重复。请指教 @RequestMapping(value = "/students", method = RequestMethod.GET) public ModelAndView students() { List<Student> students=studentService.getAllStudents()
@RequestMapping(value = "/students", method = RequestMethod.GET)
public ModelAndView students() {
List<Student> students=studentService.getAllStudents();
ModelAndView view=new ModelAndView();
view.addObject("objects", students);
view.setViewName("students");
return view;
}
@RequestMapping(value = "/addStudent", method = RequestMethod.POST)
public ModelAndView addStudent(@ModelAttribute("SpringWeb") @Validated Student student, BindingResult bindingResult,
ModelMap model) {
if(bindingResult.hasErrors())
{
return new ModelAndView("numberformat", null);
}
model.addAttribute("name", student.getName());
model.addAttribute("age", student.getAge());
model.addAttribute("id", student.getId());
studentService.createStudent(student);
// return new ModelAndView("result", model) ;
return students();
}
@RequestMapping(value=“/students”,method=RequestMethod.GET)
公共模型和视图学生(){
List students=studentService.getAllStudents();
ModelAndView视图=新建ModelAndView();
view.addObject(“对象”,学生);
view.setViewName(“学生”);
返回视图;
}
@RequestMapping(value=“/addStudent”,method=RequestMethod.POST)
public ModelAndView addStudent(@modeldattribute(“SpringWeb”)@validatedstudent-Student,BindingResult,
模型(地图模型){
if(bindingResult.hasErrors())
{
返回新的ModelAndView(“numberformat”,null);
}
model.addAttribute(“name”,student.getName());
model.addAttribute(“age”,student.getAge());
model.addAttribute(“id”,student.getId());
studentService.createStudent(学生);
//返回新模型和视图(“结果”,模型);
返回学生();
}
Students.jsp
身份证件
名称
年龄
加入日期
Student.jsp
<body>
<h2>Employee Information</h2>
<form method="POST" action="/HelloWorld/addStudent">
<table>
<tr>
<td><label for="name">Name</label></td>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<td><label for="age">Age</label></td>
<td><input type="number" name= "age" /></td>
</tr>
<!-- <tr>
<td><label for="id">id</label></td>
<td><input type="number" name= "id" /></td>
</tr> -->
<tr>
<td><label for="doj">Date of Joining</label></td>
<td><input type="date" name= "doj" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Submit" /></td>
</tr>
</table>
</form>
员工信息
名称
年龄
加入日期
最后一行将使Spring向浏览器返回HTTP 302,然后浏览器将执行到学生URL的访问我认为该行返回学生();addStudent函数导致了该问题。添加studentGreat:)后是否有返回学生页面的方法。很高兴听到这个!关于这一点,还有一个问题。使用url中的“重定向”进行重定向时,会显示最近更新的学生详细信息。你能告诉我为什么吗?因为调用了students(),所以所有学生都从数据库中读取,因此所有的更改都显示为显示学生姓名的链接,以显示每个学生的详细信息。通过单击另一个页面,result.jsp将加载所选学生的详细信息,并且还有一个返回此页面的主页链接。但点击结果页面中的主页链接不会发生这种情况。我恐怕不知道会发生什么:(
<body>
<h2>Employee Information</h2>
<form method="POST" action="/HelloWorld/addStudent">
<table>
<tr>
<td><label for="name">Name</label></td>
<td><input type="text" name="name" /></td>
</tr>
<tr>
<td><label for="age">Age</label></td>
<td><input type="number" name= "age" /></td>
</tr>
<!-- <tr>
<td><label for="id">id</label></td>
<td><input type="number" name= "id" /></td>
</tr> -->
<tr>
<td><label for="doj">Date of Joining</label></td>
<td><input type="date" name= "doj" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Submit" /></td>
</tr>
</table>
</form>
@RequestMapping(value = "/addStudent", method = RequestMethod.POST)
public String addStudent(@ModelAttribute("SpringWeb") @Validated Student student, BindingResult bindingResult,
ModelMap model) {
if(bindingResult.hasErrors())
{
return new ModelAndView("numberformat", null);
}
model.addAttribute("name", student.getName());
model.addAttribute("age", student.getAge());
model.addAttribute("id", student.getId());
studentService.createStudent(student);
return "redirect:students";
}