6
打開一個彈出窗口,我有控制器,通過它導航到home.jsp
家庭的.jsp有兩粒扣FindEmployeeByid
FindEmployeeByName
現在我對FindEmployeeByid新彈出的窗口中單擊打開,但在彈出窗口中我得到這個消息The requested resource (/EmployeeWebSpring/search/Search.jsp) is not available.
,因爲在Search.jsp中,我使用Spring的表單標籤,因此它無法獲取模型對象,因此請告訴我如何執行此操作以打開輸入字段活動的彈出窗口,以便我可以提交數據執行一些操作數據春季
這是我的控制器
package com.nousinfo.tutorial.controllers;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.validation.annotation.Validated;
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.nousinfo.tutorial.model.EmployeeForm;
import com.nousinfo.tutorial.service.impl.EmployeeServiceImpl;
import com.nousinfo.tutorial.service.model.EmployeeBO;
@Controller
@RequestMapping("/search")
public class SearchEmployeeController {
private EmployeeServiceImpl employeeServiceImpl;
public void setEmployeeServiceImpl(EmployeeServiceImpl employeeServiceImpl) {
this.employeeServiceImpl = employeeServiceImpl;
}
@RequestMapping(value = "/searchspring", method = RequestMethod.GET)
public String view(@Validated EmployeeForm employeeForm)
throws Exception {
return "home";
}
@RequestMapping(value = "/employeeNo", method = RequestMethod.POST)
public ModelAndView searchByEmpNo(
@ModelAttribute("employeeForm") EmployeeForm employeeForm)
throws Exception {
ModelAndView model = new ModelAndView();
model.addObject("employeeForm", employeeForm);
Long i = Long.parseLong(employeeForm.getEmployeeNumber());
EmployeeBO employeeBO = employeeServiceImpl.getEmployee(i);
System.out.println(employeeBO);
model.addObject("employeeBO", employeeBO);
model.setViewName("EmployeeDetail");
return model;
}
@RequestMapping(value = "/empByName", method = RequestMethod.POST)
public ModelAndView searchByEmployeeName(
@ModelAttribute("employeeForm") EmployeeForm employeeForm) {
ModelAndView model = new ModelAndView();
model.addObject("employeeForm", employeeForm);
List<EmployeeBO> employeeBOs = employeeServiceImpl
.findEmployees(employeeForm.getFirstName());
model.addObject("listEmployeeBO", employeeBOs);
model.setViewName("EmployeeList");
return model;
}
@RequestMapping(value = "/empByDeptId", method = RequestMethod.POST)
public ModelAndView searchByDeptId(
@ModelAttribute("employeeForm") EmployeeForm employeeForm) {
ModelAndView model = new ModelAndView();
model.addObject("employeeForm", employeeForm);
List<EmployeeBO> employeeBOs = employeeServiceImpl
.getAllEmployeeByDeptid(employeeForm.getDepartmentId());
model.addObject("listEmployeeBO", employeeBOs);
model.setViewName("EmployeeList");
return model;
}
}
這是我回到Home.jsp
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<!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">
<link rel="stylesheet" href="css/style.css" type="text/css"></link>
<link rel="stylesheet" href="css/styles.css" type="text/css"></link>
<title>Home</title>
<script type="text/javascript">
function LoadByName(windowHeight, windowWidth) {
var centerWidth = (window.screen.width - windowWidth)/2;
var centerHeight = (window.screen.height - windowHeight)/2;
newWindow = window.open('Search.jsp', 'mywindow',
'resizable=0,width=' + windowWidth + ',height=' + windowHeight
+ ',left=' + centerWidth + ',top=' + centerHeight);
newWindow.divHiding(1);
newWindow.focus();
}
function LoadById(windowHeight, windowWidth) {
var centerWidth = (window.screen.width - windowWidth)/2;
var centerHeight = (window.screen.height - windowHeight)/2;
newWindow = window.open('Search.jsp', 'mywindow',
'resizable=0,width=' + windowWidth + ',height=' + windowHeight
+ ',left=' + centerWidth + ',top=' + centerHeight);
newWindow.divHiding(2);
newWindow.focus();
return newWindow.name;
}
function loadName(name) {
this.firstName = name;
window.location = 'http://localhost:8080/EmployeeWebApp/GetEmployeeServlet?key1='
+ encodeURIComponent(firstName);
}
function loadId(id) {
this.id = id;
window.location = 'http://localhost:8080/EmployeeWebApp/GetEmployeeServlet?key2='
+ encodeURIComponent(id);
}
</script>
</head>
<table width="951" height="116" border="0" align="center">
<tr>
<td width="961" height="112" align="center" bgcolor="#99CCFF"><h2>NOUS
INFOSYSTEMS</h2></td>
<td width="266" height="112" align="center" bgcolor="#FFFFFF"><img
src="image/emps.jpg" alt="1" width="266" height="84" /></td>
</tr>
</table>
<p> </p>
<table width="949" height="183" border="0" align="center">
<tr>
<td width="943" height="43"><input id="findid" name="button"
type="submit" value="Find Employee By Number or ID"
onClick="LoadById(250,500)" /></td>
</tr>
<tr>
<td height="43"><input id="findname" name="submit2" type="button"
value="Find Employee By Name" onClick="LoadByName(250,500)" /></td>
</tr>
<tr>
<td><form id="form2" action="get.spring" method="get">
<input type="submit" name="submit3" value="Get All Employees" />
</form></td>
</tr>
<tr>
<td><form id="form3" action="CreateEmployee.jsp">
<input type="submit" name="submit3" value="Create An Employee" />
</form></td>
</tr>
</table>
<p> </p>
<br>
<br>
<body>
<form>
<table width="725" border="1" align="center" cellpadding="5"
cellspacing="5">
<tr>
<th width="118">EmployeeNumber</th>
<th width="118">First Name</th>
<th width="118">Last Name</th>
<th width="118">Title</th>
<th width="118">Address1</th>
<th width="118">Address2</th>
<th width="118">City</th>
<th width="118">Details</th>
</tr>
<c:forEach var="employeeBO" items="${model.listEmployeeBO}">
<tr>
<td>${employeeBO.employeeNumber}</td>
<td>${employeeBO.firstName}</td>
<td>${employeeBO.lastName}</td>
<td>${employeeBO.title}</td>
<td>${employeeBO.address1}</td>
<td>${employeeBO.address2}</td>
<td>${employeeBO.city}</td>
</tr>
</c:forEach>
</table>
<table>
<tr>
<td></td>
</tr>
</table>
</form>
</body>
</html>
,這是我search.jsp的
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<fmt:setBundle basename="ApplicationResources" />
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Employee Search Page</title>
</head>
<body>
<form:form action="/EmployeeWebSpring/search/empByName" commandName="employeeForm" method="post">
<table border="0">
<tr>
<td>Employee_ID</td>
<td><form:input path="employeeNumber" /></td>
<td><input type="submit" name="method" value="FindById" /></td>
</tr>
<tr>
<td>Employee_Name</td>
<td><form:input path="firstName" /></td>
<td><input type="submit" name="method" value="FindByName" /></td>
</tr>
<tr>
<td>Employee_Name</td>
<td><form:input path="departmentId" /></td>
<td><input type="submit" name="method" value="FindByDeptNO" /></td>
</tr>
<tr>
<td colspan="2" align="center"><font size=3>For
Searching the employees by<b>Employee Name</b><br />you can use %
match all the records with the given pattern
</font><br /> <font size="2"> <i>e.g <b> for search by</b>EmployeeName<br />
matches alL the employees whose name starts with character <b>S</b></i></font></td>
</tr>
</table>
</form:form>
</body>
</html>
也許你可以使用javascript來提交表單,而不是傳統的表單動作。 – shazinltc
@shazinltc問題解決了沒有必要的,但如果你可以PLZ告訴意味着在彈出窗口中成功打開search.jsp後,現在我已經使用div標記現在基於按鈕單擊我想顯示div標記我有java腳本但在search.jsp中,通過這個「newWindow = window.open('../ search/searchPage','mywindow',)」和「newWindow.showDiv(1)」,我無法獲得值爲1的原因? – henrycharles
@henrycharles如果你已經解決了你的問題發佈了一個答案,以便其他人可以解決類似的問題,問候。 –