gpt4 book ai didi

java - 如何将请求重定向到另一个jsp页面/ View

转载 作者:行者123 更新时间:2023-12-01 13:00:19 26 4
gpt4 key购买 nike

我正在尝试创建员工列表。为了创建一名员工,我使用服务。创建后我需要重定向到学生列表页面。我的示例代码如下所示,每次刷新页面时,最后添加的项目都会重复。请指教!

@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();
}

学生.jsp

        <tr>
<td><b>ID</b></td>
<td><b>Name</b></td>
<td><b>Age</b></td>
<td><b>Date of Joining</b></td>
</tr>
<c:forEach var="o" items="${objects}">
<tr>
<td><c:out value="${o.id}" /></td>
<td>
<a
href="<c:url value="result">

<c:param name="studId" value="${o.id}"/>
</c:url>
"><c:out value="${o.name}"/></a>
</td>
<td><c:out value="${o.age}" /></td>
<td><c:out value="${o.doj}" /></td>
</tr>
</c:forEach>

</table>
</c:if>

学生.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";
}

最后一行将使 Spring 返回 HTTP 302 到浏览器,然后浏览器对学生 URL 执行 GET

关于java - 如何将请求重定向到另一个jsp页面/ View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23564173/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com