Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Не открывается jsp / 7 сообщений из 7, страница 1 из 1
18.06.2018, 11:54
    #39661904
Павел Гужанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не открывается jsp
Здравствуйте.
Имеется вот такой код в контроллере:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
@RequestMapping(value = "/start", method = RequestMethod.GET)
    public ModelAndView start() throws SQLException{
        HostsGroups groups = new HostsGroups();
        ArrayList<HostsGroup> gr = groups.getHostsGroups();
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("startData", gr);
        modelAndView.setViewName("hostsgroups");
        System.out.println(modelAndView.toString());
        return modelAndView;
    }


Имеется файл hostsgroups.jsp, находящийся в директории WEB-INF/pages

В файлк SpringXMLConfig.xml указано
<bean id="resolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/"/>
<property name="suffix" value=".jsp"/>
</bean>

Это все работает нормально.

Есть другой контроллер:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
@RequestMapping(value="/groupid/{id}", method=RequestMethod.GET)
    public @ResponseBody void byParameter(@PathVariable String id) throws SQLException {
        System.out.println("id = " + id);
        start(id);
        
    }

public ModelAndView start(String id) throws SQLException{
            Hosts hosts = new Hosts();
            ArrayList<Host> h = hosts.getHosts(id);
            ModelAndView modelAndView = new ModelAndView();
            modelAndView.addObject("hostsData", h);
            modelAndView.setViewName("hosts");
            System.out.println(modelAndView.toString());
            return modelAndView;
 
    }


также в директории WEB-INF/pages есть файл hosts.jsp, точно такой же, как hostsgroups.jsp, только отличается заголовком и названием передающихся в него данных (в первом случае это startData, во втором - hostsData). Но вот второй файл не открывается. System.out.println(modelAndView.toString()); в контроллере отрабатывает нормально, но в браузере пустая страница, даже без заголовка. Никак не могу понять, что у меня не так. Помогите пожалуйста.
...
Рейтинг: 0 / 0
18.06.2018, 12:01
    #39661906
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не открывается jsp
Начните пользоваться инструментами разработки.
Вместо System.out.println используйте пошаговую отладку и логирование.
Пустая страница в браузере это не черная дыра. В современных браузерах существуют инструменты для разработчика, которые покажут что именно ответил сервер.

Если настроить детальное логирование, то там будет видно нашел ли ваш ViewResolver нужный файл или нет. Но вы почему-то уверены что дело именно в этом, а не, например, в самой JSP.
...
Рейтинг: 0 / 0
18.06.2018, 13:15
    #39661960
Павел Гужанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не открывается jsp
Добавил логгирование, и добавил следующие строки:
Код: java
1.
2.
3.
4.
5.
6.
modelAndView.setViewName("hostsview"); // я поменял имя страницы в контроллере, и переименовал файл jsp
logger.info("viewname = " + modelAndView.getViewName()); 
            logger.info("hasview = " + modelAndView.hasView());
            logger.info("isempty = " + modelAndView.isEmpty());
            logger.info("status = " + modelAndView.getStatus());
            logger.info("view = " + modelAndView.getView());



в логе вижу следующее:
viewname = hostsview
hasview = true
isempty = false
status = null
view = null

В браузере инспектор показывает следующее содержимое открываемой страницы:
Код: html
1.
2.
3.
4.
5.
6.
7.
<head>
<link rel="alternate stylesheet" type="text/css" href="resource://content-accessible/plaintext.css" 
title="Переносить длинные строки">
</head>
<body>
<pre></pre>
</body>



Содержимое jsp:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
    <head>
        <title>Список хостов</title>
    </head>
    <body>
        БлаБлаБла
        <table>
            <c:forEach var="data" items="${hostsData}" >
                <tr>
                    <td class="firstcolumn"><a href="groupid/${data.id}">${data.name}</a></td>
                    <td class="secondcolumn">
                        <c:choose>
                            <c:when test="${data.status == true}">
                                <div class="status ok">
                            </c:when>    
                            <c:otherwise>
                                <div class="status error">
                            </c:otherwise>
                        </c:choose>
                        </div>
                    </td>
                </tr>
            </c:forEach>
        </table>
    </body>    
</html>



То, что показывает инспектор в браузере, не имеет ничего общего с моей страницей. Все-таки я полагаю, что не находится файл jsp/ Или я не прав?
...
Рейтинг: 0 / 0
18.06.2018, 14:36
    #39662008
Павел Гужанов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не открывается jsp
Проблему решил. Убрал весь код в один контроллер. Кажется мне, что это не совсем правильно, но, тем не менее, работает
...
Рейтинг: 0 / 0
21.06.2018, 13:34
    #39663613
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не открывается jsp
Павел Гужанов То, что показывает инспектор в браузере, не имеет ничего общего с моей страницей. Все-таки я полагаю, что не находится файл jsp/ Или я не прав?
Проверьте внимательно имена jsp-страниц на соответствие в контроллере и фактически.
Похоже, что тут есть путаница.
...
Рейтинг: 0 / 0
21.06.2018, 13:42
    #39663621
SQL2008
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не открывается jsp
Павел ГужановЗдравствуйте.
Имеется вот такой код в контроллере:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
@RequestMapping(value = "/start", method = RequestMethod.GET)
    public ModelAndView start() throws SQLException{
        HostsGroups groups = new HostsGroups();
        ArrayList<HostsGroup> gr = groups.getHostsGroups();
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.addObject("startData", gr);
        modelAndView.setViewName("hostsgroups");
        System.out.println(modelAndView.toString());
        return modelAndView;
    }



Есть другой контроллер:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
@RequestMapping(value="/groupid/{id}", method=RequestMethod.GET)
    public @ResponseBody void byParameter(@PathVariable String id) throws SQLException {
        System.out.println("id = " + id);
        start(id);
        
    }

public ModelAndView start(String id) throws SQLException{
            Hosts hosts = new Hosts();
            ArrayList<Host> h = hosts.getHosts(id);
            ModelAndView modelAndView = new ModelAndView();
            modelAndView.addObject("hostsData", h);
            modelAndView.setViewName("hosts");
            System.out.println(modelAndView.toString());
            return modelAndView;
 
    }



Во втором случае у вас не возвращается ModelAndView!
Вы запускаете start(id) и полагаете, что система знает куда и что возвращать???
Тогда уж так

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
@RequestMapping(value="/groupid/{id}", method=RequestMethod.GET)
    public @ResponseBody ModelAndView byParameter(@PathVariable String id) throws SQLException {
        System.out.println("id = " + id);
        return start(id);
        
    }

public ModelAndView start(String id) throws SQLException{
            Hosts hosts = new Hosts();
            ArrayList<Host> h = hosts.getHosts(id);
            ModelAndView modelAndView = new ModelAndView();
            modelAndView.addObject("hostsData", h);
            modelAndView.setViewName("hosts");
            System.out.println(modelAndView.toString());
            return modelAndView;
 
    }
...
Рейтинг: 0 / 0
22.06.2018, 07:57
    #39663894
Nixic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не открывается jsp
При активном окне браузера жмем F12 и смотрим вкладку Network (это в chrome, в других может быть название Сеть).
Смотрим запросы, ошибки и т.д. пытаемся понять, что откуда подтянулось/пытается подтянуться.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Не открывается jsp / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]