2015-10-12 2 views
0

Я работаю над проектом Spring MVC. Там есть страница Home.jsp, которая отлично работает, и я должен добавить кнопку на этой странице, которая откроет новую страницу jsp для ввода нового сотрудника. Я добавил HTML и javascript в Home.jsp и создал мой NewEmpInput.jsp. Но когда я нажимаю кнопку, я получаю 404 ресурс не найден. Вы можете увидеть мою window.open функцию здесь:404 ресурс не найден Добавление файла jsp

<html> 
<head> 
<title>Home</title> 
<link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> 
<script type="text/javascript" src="jquery-1.8.3.js"></script> 
<link href="assets/css/bootstrap.css" rel="stylesheet"> 
<link href="assets/css/bootstrap-responsive.css" rel="stylesheet"> 
<!-- Our custom styling! --> 
<link rel="stylesheet" href="<c:url value='/resources/css/mainStyle.css'/>"> 
<!-- Our custom javascript! -->       
<script src="<c:url value='/resources/javascript/commentModal.js'/>" ></script> 
<script src="<c:url value='/resources/javascript/activeFilters.js'/>" ></script> 
<script src="<c:url value='/resources/javascript/searchFilters.js'/>" ></script> 
<script src="<c:url value='/WEB-INF/views/NewEmpInput.jsp'/>" ></script> 

<script >var newEmpWindow; 
    function openWin() { 
    newEmpWindow = window.open("/WEB-INF/views/NewEmpInput.jsp", "left=300, width=800, height=400, top=200");} 
</script> 

</head> 
<body> 
+0

Home.jsp и NewEmpInput.jsp находятся в той же папке, в затмении проекта. – Mel

+0

В вашем случае, почему бы вам не создать сопоставление запросов в вашем контроллере и в функции window.open передать url (requestmapping to the method). –

ответ

0

Сервер приложений не позволит никому в папку WEB-INF - эта папка защищена от любого доступа через HTTP (S).

Я не уверен в этом, но попробуйте, если эта страница может быть достигнута только /NewEmpInput.jsp.

+0

Пробовал просто /NewEmpInput.jsp, но все же ошибка 404. Файл Home.jsp находится в этой папке, и это работает, поэтому почему мой jsp не работает? Может быть, потому, что Home добавлен в один из xml-файлов? – Mel

+0

Да, возможно, потребуется какая-то конфигурация. Попытайтесь посмотреть на страницу, которая работает, и настроить эту новую аналогичным образом. Надеюсь, кто-то со знанием Spring MVC в конечном итоге опубликует правильный ответ. –

+0

Мне нужно больше исследовать, но я думаю, что может быть 3 записи/фрагменты, необходимые для отображения файла jsp. Может быть, контроллер, револьвер и картография. – Mel

0

У меня есть. Оказывается, мне пришлось создать контроллер для новой страницы jsp, как и для текущей страницы home.jsp. Вот код:

@Controller 
public class NewEmployeeController { 
    @RequestMapping(value = "NewEmpInput") 
    public String newEmployee() { 
     //model.addAttribute("resultBoard", "resultBoard"); 
     return "NewEmpInput"; 
    } 
} 

Тогда моя ява скрипт на текущей странице home.jsp работал так:

<script >var newEmpWindow; 
    function openWin() { 
    newEmpWindow = window.open("/MyProjName/NewEmpInput.html", "left=300, width=800, height=400, top=200");} 
</script>