2015-07-24 3 views
2

Я использую этот HTML код для перенаправления на другой URL, когда страница (www.dasinfobuch.de/links/Wizz) вызывается:Как передать параметры URL при перенаправлении на другой URL?

<head> 
    <meta http-equiv="refresh" content="0; URL=http://52.28.104.181:8080/Wizard/Wizz"> 
</head> 

Однако, когда я использую параметр URL, такие как

www.dasinfobuch.de/links/Wizz?template=test 

Параметр не передается на перенаправленную страницу. Есть ли способ сделать это (желательно в простой HTML)? (Я новичок в веб-программировании.)

+0

Как вы пытаетесь прочитать эту переменную? – Dropout

+0

Я использую сервлет и читаю через request.getParameter («шаблон»); –

+2

Невозможно в простом HTML, но это было бы намного лучше сделано на стороне сервера, используя 30-кратный переадресацию (используя язык программирования на стороне сервера или Apache 'Redirect' в файле .htaccess, как показано [здесь] (http: // stackoverflow .com/questions/22567357/htaccess-redirect-url-with-parameters)) –

ответ

4

Это невозможно использовать только с помощью мета-элемента, который имитирует non-standard Refresh HTTP header field. Конечно, есть и другие способы.

Если у вас есть что-то вроде препроцессора, вы можете пройти по запросу в HTML, например, так:

<meta http-equiv="refresh" 
     content="0; URL=http://52.28.104.181:8080/Wizard/Wizz?template=<% 
      out.print(request.getParameter("template")) %>"> 

другой (на стороне клиента) способ перенаправить с помощью JavaScript:

document.location.href = 'http://52.28.104.181:8080/Wizard/Wizz' + document.location.search; 

Обратите внимание, что это будет содержать всю строку запроса, а не только параметр template и его аргумент. Если это проблема, легко получить только нужную строку от location.search.

+0

Спасибо, я рассмотрю это ... Как я уже сказал, я новичок в веб-программировании, поэтому это может занять некоторое время :-) (Хорошо, первая идея должна быть легко протестирована ...) –

+1

@ lukas.coenig: Не волнуйся и не торопитесь. Это определенно решаемая проблема с несколькими подходами. Если он все еще не работает, предоставление фактического (сервлет) кода может оказаться полезным для всех. – dakab

+0

Первое, что не получилось. Очевидно, что у меня нет препроцессора ... Результат: http://52.28.104.181:8080/Wizard/Wizz?template=%3C%%20%20%20%20%20%20% 20% 20% 20% 20% 20out.print (request.getParameter ( –

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