簡體   English   中英

當滿足另一個變量的條件時,如何在Spring MVC中從一個jsp重定向到另一個jsp

[英]How to redirect from one jsp to another jsp in Spring MVC when it satisfies the condition of another variable

在Spring MVC上工作,我想在條件滿足時將頁面從一個JSP重定向到另一個。

  1. 如果列經驗大於3,則必須重定向到另一個JSP頁面(當前JSP頁面:addEmployee到insureEmployee JSP頁面)
  2. 當該值小於3時,它通常必須將數據存儲到數據庫中。
  3. 我有2個表...因此,當經驗超過3年時,它必須重定向到新的JSP,並且一旦我提交數據,必須將其存儲在數據庫(輔助表)中,否則,當經驗少於3個時,則它必須保存到主表數據庫
  4. 當我在“體驗”列中輸入的值大於3時,我只想重定向到另一個JSP
  5. 我已經發布了我的Controller類和JSP代碼

員工班主任:

   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文件:

<%@ 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文件(將重定向到此頁面):

<%@ 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>

你能做的是

if(variable > 3){
   return new ModelAndView("return to greater than 3 page");
}else{
 return new ModelAndView("return to same page");
}

由於方法返回類型的原因,您將需要重定向到同一頁面或任何其他頁面。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM