2012-04-13 5 views
1

Я пишу приложение с использованием GWT и Java Google App Engine. Когда я запускаю страницу приложения с помощью devmode, я вижу URL-адрес с суффиксом «? Gwt.codesvr = 127.0.0.1: 9997». Без этого суффикса devmode, похоже, не работает; поэтому я предполагаю, что он должен присутствовать при использовании devmode (чтобы сказать, что модуль devmode указывает адрес сервера, который говорит с интерфейсом devmode, я полагаю).При отладке с использованием GWT devmode, как перенаправить URL-адреса на моем собственном сервере?

В моем приложении я иногда либо использую перенаправление на стороне сервера на одну из своих собственных страниц, либо выделяю HTML-страницу, содержащую ссылку на одну из моих собственных страниц. Поскольку я хочу просматривать приложение так, как пользователь, в коде кода генерации URL-адресов, я ищу параметр «gwt.codesvr», получает его значение и затем помещаю этот суффикс, который возвращает URL-адрес в качестве строки запроса; то есть, я копирую строку запроса. Я проверил в генерируемый HTML, что это делает то, что я ожидал:

<form class="float-right" action="/foo/id123?gwt.codesvr=127.0.0.1:9997" method="GET" > 
<input class="color-red" type=submit value="Get Started" /> 
</form> 

Такие ссылки/переадресовывает предназначены для перемещения пользователя от страницы к странице, и я думал, генерируя такие ссылки позволит мне просматривать делать то же самое как пользователь, но в devmode; однако, похоже, он не работает. В частности, когда я нажимаю ссылку, чтобы перейти к следующей странице, строка запроса не отображается в URL-адресе браузера. То есть URL в адресной строке Chrome является:

http://127.0.0.1:8888/foo/id123? 

Я не знаю, как это можно нажать на ссылку и заставить браузер перейти на тот же URL, но минус строка запроса (но не пропуская «?»).

В моем приложении я создаю ссылку в Intro.jsp, которая должна пересылаться в /foo/id123?gwt.codesvr=127.0.0.1:9997. В разделе заголовков app.yaml говорится примерно следующее:

handlers: 

- url: /Intro 
    jsp: Intro.jsp 

# the internal rpc service 
- url: /waga/rpc 
    name: WagaServiceImpl 
    servlet: com.waga.server.WagaServiceImpl 
    login: required 

- url: /foo/* 
    name: FooServlet 
    servlet: com.waga.server.FooServlet 
    login: required 

ответ

0

Ваша проблема связана с передачей параметров в URL-адресе действия. На этот вопрос был дан ответ here. Кажется, что невозможно изменить строку запроса в URL-адресе действия. Один из вариантов мог бы использовать скрытые входы для передачи параметров. Другим подходом будет использование гиперссылок.

<a href="/foo/id123?gwt.codesvr=127.0.0.1:9997">Link</a> 

 Смежные вопросы

  • Нет связанных вопросов^_^