조건이 충족 될 때 한 JSP에서 다른 JSP로 페이지를 리디렉션하려는 Spring MVC에서 작업합니다.다른 변수의 조건을 만족할 때 Spring MVC의 한 jsp에서 다른 JSP로 리디렉션하는 방법
- 열 경험은보다 큰 3입니다 그것은 다른 JSP 페이지로 리디렉션하는 경우 (현재 JSP 페이지 : insureEmployee JSP 페이지로 addEmployee)
- 이 값이 다음 정상에가 3보다 더 적은이다 데이터를 데이터베이스에 저장하십시오.
- 나는 2 개의 테이블을 가지고있다 ... 그래서 경험이 3 년 이상이되면 새로운 JSP로 리다이렉트해야하고 일단 데이터가 데이터베이스 (보조 테이블)에 저장되어야하거나 경험이 적을 때 제출해야한다. 3 다음은
- 난 그냥 내가 경험 열에 값 3 개 이상 입력 할 때 다른 JSP로 리디렉션 할 기본 테이블을 데이터베이스에 저장하는 것보다
- 내 컨트롤러 클래스와 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>
너무 많은 코드입니다. ** 관련 ** 코드 및 관련 HTML (** HTML ** 렌더링 된 ** HTML **이 아니라 생성하는 코드)을 게시하여 앞서 언급 한 귀하의 현재 평가에 대한 문제점을 입증하십시오. 조건/논리를 통해 문제가 무엇인지 알 수 있습니다. [** 최소, 완전하고 검증 가능한 예제를 만드는 방법 **] (https://stackoverflow.com/help/mcve)를 참조하십시오. – Nope
return 문 앞에 조건을 확인할 수 있지만 두 번의 리디렉션이 필요합니다 하나는 3보다 크고 다른 하나는 3보다 작습니다. –
저는 여러분이 돌아 오기 위해 단순히 다른 견해를 선택한다는 것을 이해하는 것이 중요하다고 생각합니다. 리디렉션은 다른 것을 암시합니다. –