Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как получить результат обработки jsp в коде? надо получить сгенерированную страницу 
:(
    Опции темы
chaos
Дата 31.10.2010, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: нет
Всего: 44



Доброго времени суток!
Встала задача получить сгенерированную из jsp страницу внутри кода
Как решить данную задачу?

ЗЫ код этот работает под томкатом
ЗЫЫ использую spring

Это сообщение отредактировал(а) chaos - 31.10.2010, 11:50
PM WWW   Вверх
powerOn
Дата 31.10.2010, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 28
Всего: 159



а зачем это нужно? простой HTTP запрос к странице не поможет?


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
werdy
Дата 1.11.2010, 07:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 15.3.2007
Где: Новокузнецк

Репутация: 1
Всего: 1



Это возможно сделать включив моск (MockHttpServletRequest) smile 
PM MAIL WWW   Вверх
chaos
Дата 2.11.2010, 11:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: нет
Всего: 44



Цитата(powerOn @ 31.10.2010,  14:59)
а зачем это нужно? простой HTTP запрос к странице не поможет?

поможет, но хотелоь бы без него.

читаю про MockHttpServletRequest
PM WWW   Вверх
chaos
Дата 3.11.2010, 11:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: нет
Всего: 44



написал такой код
Код

MockHttpServletRequest request = new MockHttpServletRequest();
request.setMethod("GET");
request.setRequestURI("/" + cardId + ".txt");

MockHttpServletResponse response = new MockHttpServletResponse();
new AnnotationMethodHandlerAdapter().handle(request, response, new CardInfo(cardService));
log.debug(response.getContentLength()); //0


в респонсе ничего нет :( а мне нужно тоже самое что я вижу в броузере
PM WWW   Вверх
chaos
Дата 8.11.2010, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Серийный программист
****


Профиль
Группа: Завсегдатай
Сообщений: 2979
Регистрация: 7.7.2004
Где: Екатеринбург

Репутация: нет
Всего: 44



уже отдельно все вынес, а воз и ныне там :(

Код

package ru.xxx.lassd.jsprender;

import org.springframework.beans.factory.support.RootBeanDefinition;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.mock.web.MockServletConfig;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.GenericWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import org.springframework.web.servlet.view.JstlView;

public class App {
    public static void main(String[] args) throws Exception {
        @SuppressWarnings("serial")
        DispatcherServlet servlet = new DispatcherServlet() {
            protected WebApplicationContext createWebApplicationContext(
                    WebApplicationContext parent) {
                GenericWebApplicationContext wac = new GenericWebApplicationContext();
                wac.registerBeanDefinition("controller",
                        new RootBeanDefinition(TestController.class));
                wac.registerBeanDefinition("viewResolver",
                        new RootBeanDefinition(TestViewResolver.class));
                wac.refresh();
                return wac;
            }
        };

        servlet.init(new MockServletConfig());

        MockHttpServletRequest request = new MockHttpServletRequest("GET",
                "/myPath.do");
        MockHttpServletResponse response = new MockHttpServletResponse();
        servlet.service(request, response);
        
        System.out.println("Content: " + response.getContentAsString());
    }
}

@Controller
class TestController {
    @RequestMapping("/myPath.do")
    public ModelAndView handleRequest() {
        return new ModelAndView("txt");
    }
}

class TestViewResolver extends InternalResourceViewResolver {
    @Override
    protected String getPrefix() {
        return "/Users/chaos/Tmp/";
    }

    @Override
    protected String getSuffix() {
        return ".jsp";
    }

    @SuppressWarnings("rawtypes")
    @Override
    protected Class getViewClass() {
        return JstlView.class;
    }
}

PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1615 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.