如何重定向到PHP中的另一个jsp页面

时间:2010-10-13 11:41:44

标签: php jsp redirect

我有1个php页面正在做一些操作并将数据存储在2个变量中,现在我想将这些数据传递给另一个页面并且该页面位于jsp中。我不想点击任何地方,这意味着我的PHP将最后自动调用jsp页面。

请告诉我该怎么做。

谢谢, Manoj Singhal

5 个答案:

答案 0 :(得分:3)

试试这个

<?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知之甚少)。

答案 1 :(得分:2)

将数据存储在文件或数据库中并执行:

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

然后让jsp从该文件或数据库中检索数据。

您还可以通过GET或POST

执行一些curl次请求传递数据

答案 2 :(得分:1)

假设您要在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请求,包括目标页面上的参数)

答案 3 :(得分:0)

您可以使用CURL从JSP页面获取数据,然后将其显示给您的PHP客户端。在这种情况下,您的客户端(浏览器)将在内部连接到您的JSP应用程序服务器,您可以通过URL传递数据。之后,将JSP输出用作PHP输出。

答案 4 :(得分:0)

这很简单:

  <?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页面中的变量并进行设置。