Working on Spring MVC where i want to redirect a page from one JSP to another when the condition satisfies.
Controller of Employee Class:
package com.dineshonjava.controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import com.dineshonjava.bean.EmployeeBean;
import com.dineshonjava.model.Employee;
import com.dineshonjava.service.EmployeeService;
@Controller
public class EmployeeController {
@Autowired
private EmployeeService employeeService;
@RequestMapping(value = "/save", method = RequestMethod.POST)
public ModelAndView saveEmployee(@Valid @ModelAttribute("command") EmployeeBean employeeBean,
BindingResult result) {
if(result.hasErrors()){
return new ModelAndView("addEmployee");
}
Employee employee = prepareModel(employeeBean);
employeeService.addEmployee(employee);
Map<String, Object> model = new HashMap<String, Object>();
model.put("employees", prepareListofBean(employeeService.listEmployeess()));
return new ModelAndView("displayEmployee",model);
}
@RequestMapping(value = "/saved", method = RequestMethod.POST)
public ModelAndView savedEmployee(@Valid @ModelAttribute("command") EmployeeBean employeeBean,
BindingResult result) {
if(result.hasErrors()){
return new ModelAndView("addEmployee");
}
Employee employee = prepareModel(employeeBean);
employeeService.addEmployee(employee);
Map<String, Object> model = new HashMap<String, Object>();
model.put("employees", prepareListofBean(employeeService.listEmployeess()));
return new ModelAndView("displayEmployee",model);
}
@RequestMapping(value="/employees", method = RequestMethod.GET)
public ModelAndView listEmployees() {
Map<String, Object> model = new HashMap<String, Object>();
model.put("employees", prepareListofBean(employeeService.listEmployeess()));
return new ModelAndView("employeesList", model);
}
@RequestMapping(value = "/add", method = RequestMethod.GET)
public ModelAndView addEmployee(@Valid @ModelAttribute("command") EmployeeBean employeeBean,
BindingResult result) {
if(result.hasErrors()){
return new ModelAndView("addEmployee");
}
Map<String, Object> model = new HashMap<String, Object>();
model.put("employees", prepareListofBean(employeeService.listEmployeess()));
return new ModelAndView("addEmployee", model);
}
@RequestMapping(value = "/index", method = RequestMethod.GET)
public ModelAndView welcome() {
return new ModelAndView("index");
}
@RequestMapping(value = "/sub", method = RequestMethod.GET)
public ModelAndView Edit() {
return new ModelAndView("displayEmployee");
}
@RequestMapping(value = "/delete", method = RequestMethod.GET)
public ModelAndView editEmployee(@ModelAttribute("command") EmployeeBean employeeBean,
BindingResult result) {
employeeService.deleteEmployee(prepareModel(employeeBean));
Map<String, Object> model = new HashMap<String, Object>();
model.put("employee", null);
model.put("employees", prepareListofBean(employeeService.listEmployeess()));
return new ModelAndView("displayEmployee", model);
}
@RequestMapping(value = "/edit", method = RequestMethod.GET)
public ModelAndView deleteEmployee(@Valid @ModelAttribute("command") EmployeeBean employeeBean,
BindingResult result) {
if(result.hasErrors()){
Map<String, Object> model = new HashMap<String, Object>();
model.put("employee", prepareEmployeeBean(employeeService.getEmployee(employeeBean.getId())));
model.put("employees", prepareListofBean(employeeService.listEmployeess()));
return new ModelAndView("editEmployee", model);
}
Map<String, Object> model = new HashMap<String, Object>();
model.put("employee", prepareEmployeeBean(employeeService.getEmployee(employeeBean.getId())));
model.put("employees", prepareListofBean(employeeService.listEmployeess()));
return new ModelAndView("displayEmployee", model);
}
private Employee prepareModel(EmployeeBean employeeBean){
Employee employee = new Employee();
employee.setAddress(employeeBean.getAddress());
employee.setAge(employeeBean.getAge());
employee.setName(employeeBean.getName());
employee.setSalary(employeeBean.getSalary());
employee.setId(employeeBean.getId());
employee.setBae(employeeBean.getBae());
employee.setExperience(employeeBean.getExperience());
employee.setEmail(employeeBean.getEmail());
employee.setPassword(employeeBean.getPassword());
employeeBean.setId(null);
return employee;
}
private List<EmployeeBean> prepareListofBean(List<Employee> employees){
List<EmployeeBean> beans = null;
if(employees != null && !employees.isEmpty()){
beans = new ArrayList<EmployeeBean>();
EmployeeBean bean = null;
for(Employee employee : employees){
bean = new EmployeeBean();
bean.setName(employee.getName());
bean.setId(employee.getId());
bean.setAddress(employee.getAddress());
bean.setSalary(employee.getSalary());
bean.setAge(employee.getAge());
bean.setBae(employee.getBae());
bean.setExperience(employee.getExperience());
bean.setEmail(employee.getEmail());
bean.setPassword(employee.getPassword());
beans.add(bean);
}
}
return beans;
}
private EmployeeBean prepareEmployeeBean(Employee employee){
EmployeeBean bean = new EmployeeBean();
bean.setAddress(employee.getAddress());
bean.setAge(employee.getAge());
bean.setName(employee.getName());
bean.setSalary(employee.getSalary());
bean.setId(employee.getId());
bean.setBae(employee.getBae());
bean.setExperience(employee.getExperience());
bean.setEmail(employee.getEmail());
bean.setPassword(employee.getPassword());
return bean;
}
}
Controller of Worker Class:
package com.dineshonjava.controller; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.validation.Valid; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.servlet.ModelAndView; import com.dineshonjava.bean.WorkerBean; import com.dineshonjava.model.Worker; import com.dineshonjava.service.WorkerService; @Controller public class WorkerController { @Autowired private WorkerService workService; @RequestMapping(value = "/", method = RequestMethod.POST) public ModelAndView saveWorker(@Valid @ModelAttribute("command") WorkerBean workBean, BindingResult result) { if(result.hasErrors()){ return new ModelAndView(""); } Worker work = prepareModel(workBean); workService.addWorker(work); Map<String, Object> model = new HashMap<String, Object>(); model.put("works", prepareListofBean(workService.listWorkers())); return new ModelAndView("",model); } @RequestMapping(value = "/added", method = RequestMethod.GET) public ModelAndView added() { return new ModelAndView("insureEmployee"); } @RequestMapping(value = "/", method = RequestMethod.POST) public ModelAndView savedWorker(@Valid @ModelAttribute("command") WorkerBean workBean, BindingResult result) { if(result.hasErrors()){ return new ModelAndView(""); } Worker work = prepareModel(workBean); workService.addWorker(work); Map<String, Object> model = new HashMap<String, Object>(); model.put("works", prepareListofBean(workService.listWorkers())); return new ModelAndView("",model); } @RequestMapping(value="/", method = RequestMethod.GET) public ModelAndView listWorker() { Map<String, Object> model = new HashMap<String, Object>(); model.put("works", prepareListofBean(workService.listWorkers())); return new ModelAndView("", model); } @RequestMapping(value = "/insure", method = RequestMethod.GET) public ModelAndView addWorker(@Valid @ModelAttribute("command") WorkerBean workBean, BindingResult result) { if(result.hasErrors()){ return new ModelAndView("insureEmployee"); } Map<String, Object> model = new HashMap<String, Object>(); model.put("works", prepareListofBean(workService.listWorkers())); return new ModelAndView("insureEmployee", model); } @RequestMapping(value = "/", method = RequestMethod.GET) public ModelAndView editEmployee(@ModelAttribute("command") WorkerBean workBean, BindingResult result) { workService.deleteWorker(prepareModel(workBean)); Map<String, Object> model = new HashMap<String, Object>(); model.put("work", null); model.put("works", prepareListofBean(workService.listWorkers())); return new ModelAndView("", model); } @RequestMapping(value = "/", method = RequestMethod.GET) public ModelAndView deleteWork(@Valid @ModelAttribute("command") Worker workBean, BindingResult result) { if(result.hasErrors()){ Map<String, Object> model = new HashMap<String, Object>(); model.put("work", prepareWorkerBean(workService.getWorker(workBean.getId()))); model.put("works", prepareListofBean(workService.listWorkers())); return new ModelAndView("", model); } Map<String, Object> model = new HashMap<String, Object>(); model.put("work", prepareWorkerBean(workService.getWorker(workBean.getId()))); model.put("works", prepareListofBean(workService.listWorkers())); return new ModelAndView("", model); } private Worker prepareModel(WorkerBean workBean){ Worker work = new Worker(); work.setPhone(workBean.getPhone()); work.setAccno(workBean.getAccno()); work.setId(workBean.getId()); workBean.setId(null); return work; } private List<WorkerBean> prepareListofBean(List<Worker> work){ List<WorkerBean> beans = null; if(work != null && !work.isEmpty()){ beans = new ArrayList<WorkerBean>(); WorkerBean bean = null; for(Worker worker : work){ bean = new WorkerBean(); bean.setId(worker.getId()); bean.setPhone(worker.getPhone()); bean.setAccno(worker.getAccno()); beans.add(bean); } } return beans; } private WorkerBean prepareWorkerBean(Worker work){ WorkerBean bean = new WorkerBean(); bean.setId(work.getId()); bean.setPhone(work.getPhone()); bean.setAccno(work.getAccno()); return bean; } }
addEmployee JSP file which has to be redirected:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Spring MVC Form Handling</title>
</head>
<style>
.error {
color: red;
font-weight: bold;
}
</style>
<body>
<h2>Add Employee Data</h2>
<form:form method="POST" action="/sdnext/save.html">
<table>
<tr>
<td align="left" width="20%">EmployeeID:</td>
<td align="left" width="40%"><form:input path="id"
readonly="true" size="30" /></td>
</tr>
<tr>
<td align="left" width="20%">Name:</td>
<td align="left" width="40%"><form:input path="name" size="30" /></td>
<td><form:errors path="name" cssClass="error" /></td>
</tr>
<tr>
<td align="left" width="20%">Age:</td>
<td align="left" width="40%"><form:input path="age" size="30" /></td>
<td align="left"><form:errors path="age" cssClass="error" /></td>
</tr>
<tr>
<td align="left" width="20%">salary:</td>
<td align="left" width="40%"><form:input path="salary"
size="30" /></td>
<td align="left"><form:errors path="salary" cssClass="error" /></td>
</tr>
<tr>
<td align="left" width="20%">Address:</td>
<td align="left" width="40%"><form:input path="address"
size="30" /></td>
<td><form:errors path="address" cssClass="error" /></td>
</tr>
<tr>
<td align="left" width="20%">Bae:</td>
<td align="left" width="40%"><form:input path="bae" size="30" /></td>
<td><form:errors path="bae" cssClass="error" /></td>
</tr>
<tr>
<td align="left" width="20%">Experience:</td>
<td align="left" width="40%"><form:input path="experience" id="experience"
size="30" onblur="checkExperience()"/></td>
<td><form:errors path="experience" cssClass="error" /></td>
</tr>
<tr>
<td align="left" width="20%">Email:</td>
<td align="left" width="40%"><form:input path="email" size="30" /></td>
<td><form:errors path="email" cssClass="error" /></td>
</tr>
<tr>
<td>Password:</td>
<td><form:password path="password" size="30" /></td>
<td><form:errors path="password" cssClass="error" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Submit" /></td>
</tr>
</table>
</form:form>
</body>
</html>
insureEmployee JSP file (which gets redirect to this page):
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form:form method="POST" action="/sdnext/insure.html" >
<table> <tr>
<tr>
<td align="left" width="20%">Phone:</td>
<td align="left" width="40%"><form:input path="phone" size="30" /></td>
<td><form:errors path="phone" cssClass="error" /></td>
</tr>
<tr>
<td>Account Number:</td>
<td><form:password path="accno" size="30" /></td>
<td><form:errors path="accno" cssClass="error" /></td>
</tr>
<tr>
<td> <input type="submit" value="Submit"/></td>
</tr>
</table>
</form:form>
</body>
</html>
InsureEmployee where redirected page comes here:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form:form method="POST" action="/sdnext/insure.html" >
<table> <tr>
<tr>
<td align="left" width="20%">Phone:</td>
<td align="left" width="40%"><form:input path="phone" size="30" /></td>
<td><form:errors path="phone" cssClass="error" /></td>
</tr>
<tr>
<td>Account Number:</td>
<td><form:password path="accno" size="30" /></td>
<td><form:errors path="accno" cssClass="error" /></td>
</tr>
<tr>
<td> <input type="submit" value="Submit"/></td>
</tr>
</table>
</form:form>
</body>
</html>
What you can do is
if(variable > 3){
return new ModelAndView("return to greater than 3 page");
}else{
return new ModelAndView("return to same page");
}
You will need to redirect to either to the same page or any other because, of the method return type.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.