powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Не открывается jsp
7 сообщений из 7, страница 1 из 1
Не открывается jsp
    #39661904
Павел Гужанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Имеется вот такой код в контроллере:
Код: 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
Не открывается jsp
    #39661906
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Начните пользоваться инструментами разработки.
Вместо System.out.println используйте пошаговую отладку и логирование.
Пустая страница в браузере это не черная дыра. В современных браузерах существуют инструменты для разработчика, которые покажут что именно ответил сервер.

Если настроить детальное логирование, то там будет видно нашел ли ваш ViewResolver нужный файл или нет. Но вы почему-то уверены что дело именно в этом, а не, например, в самой JSP.
...
Рейтинг: 0 / 0
Не открывается jsp
    #39661960
Павел Гужанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавил логгирование, и добавил следующие строки:
Код: 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
Не открывается jsp
    #39662008
Павел Гужанов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблему решил. Убрал весь код в один контроллер. Кажется мне, что это не совсем правильно, но, тем не менее, работает
...
Рейтинг: 0 / 0
Не открывается jsp
    #39663613
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел Гужанов То, что показывает инспектор в браузере, не имеет ничего общего с моей страницей. Все-таки я полагаю, что не находится файл jsp/ Или я не прав?
Проверьте внимательно имена jsp-страниц на соответствие в контроллере и фактически.
Похоже, что тут есть путаница.
...
Рейтинг: 0 / 0
Не открывается jsp
    #39663621
Фотография SQL2008
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павел ГужановЗдравствуйте.
Имеется вот такой код в контроллере:
Код: 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
Не открывается jsp
    #39663894
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При активном окне браузера жмем F12 и смотрим вкладку Network (это в chrome, в других может быть название Сеть).
Смотрим запросы, ошибки и т.д. пытаемся понять, что откуда подтянулось/пытается подтянуться.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Не открывается jsp
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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