Как перенаправить на другую страницу JSP в PHP - PullRequest
1 голос
/ 13 октября 2010

У меня есть 1 php страница, которая выполняет некоторые манипуляции и хранит данные в 2 переменных, теперь я хочу передать эти данные на другую страницу, и эта страница находится в jsp. Я не хочу никуда кликать, это означает, что мой php будет автоматически вызывать страницу jsp в последний раз.

Пожалуйста, скажите мне, как я могу это сделать.

Спасибо, Манодж Сингхал

Ответы [ 5 ]

3 голосов
/ 13 октября 2010

Попробуйте это

<?php
  $var1 = 'some_value';
  $var2 = 'some_other_value';
  header('Location: jsppage.jsp?var1='.$var1.'&var2='.$var2);
  exit;
?>

Ваши значения будут доступны в jsp-скрипте через request.getParameter("var1") и request.getParameter("var2") (может быть неправильно, очень мало знаете о jsp).

2 голосов
/ 13 октября 2010

Сохраните данные в файле или базе данных и выполните:

header('Location: thejsp.jsp'); 
die();

, а затем позвольте jsp получить данные из этого файла или базы данных.

Вы такжеможет выполнить несколько curl запросов, передавая данные через GET или POST

1 голос
/ 13 октября 2010

Предполагая, что вы хотите повторно использовать те же параметры запроса в JSP:

Если это запрос GET, выполните:

header('HTTP/1.1 302 Moved Temporarily');
header('Location: http://example.com/page.jsp?' . $_SERVER['QUERY_STRING']);
exit();

Если это POST-запрос, выполните:

header('HTTP/1.1 307 Temporary Redirect');
header('Location: http://example.com/page.jsp');
exit();

(при 307 клиент повторно применяет запрос POST, включая параметры на целевой странице)

0 голосов
/ 14 декабря 2011

Это просто:

  <?php
  /* 
     Prevent errors or output from spoiling the headers we're using later on.
     Every output before the headers are posted will break the headers and fail. 
  */
  ob_start();
  ...your code...
  $var1 = 'some_value';
  $var2 = 'some_other_value';
  ...your code...
  ob_end_clean();

  /* 
     Make sure you url-encode your variables so they don't break!
  */
  $location  = 'http://www.yourdomain.com/yourtargetpage.jsp?';
  $location .= 'var1='.url_encode($var1);
  $location .= '&amp;';
  $location .= 'var2='.url_encode($var2);

  /*
     Redirect to $location, 
     Using a 301 redirect (not 302!), 
     With TRUE to replace default HTTP code with 301 code and redirect.
  */
  header('Location: '.$location, 301, TRUE);
  exit();
  ?>

Теперь все, что вам нужно сделать, это * url_decode * переменных на вашей странице JSP, и все готово.

0 голосов
/ 13 октября 2010

Вы можете использовать CURL , чтобы получить данные со страницы JSP и затем показать их вашему PHP-клиенту. В этом случае ваш клиент (браузер) будет подключаться к вашему серверу приложений JSP внутри, и вы можете передавать данные через URL. После этого вы используете выход JSP в качестве вывода PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...