如何将值从一个jsp传递到另一个jsp页面?

时间:2014-03-13 05:23:14

标签: java jsp

我有两个jsp页面:search.jspupdate.jsp

当我运行search.jsp时,会从数据库中获取一个值,并将该值存储在名为scard的变量中。现在,我想要的是在另一个jsp页面中使用该变量的值。我不想使用request.getparameter()

这是我的代码:

<% 
String scard = "";
String id = request.getParameter("id");

try {
    String selectStoredProc = "SELECT * FROM Councel WHERE CouncelRegNo ='"+id+"'";

    PreparedStatement ps = cn.prepareStatement(selectStoredProc);
    ResultSet rs = ps.executeQuery();

    while(rs.next()) {
        scard = rs.getString(23);
    }

    rs.close();
    rs = null;
} catch (Exception e) {
    out.println(e.getLocalizedMessage());
} finally {

}
%>

我怎样才能做到这一点?

5 个答案:

答案 0 :(得分:14)

使用查询参数

<a href="edit.jsp?userId=${user.id}" />  

使用隐藏变量。

<form method="post" action="update.jsp">  
...  
   <input type="hidden" name="userId" value="${user.id}">  

您可以发送使用会话对象。

   session.setAttribute("userId", userid);

只要您的会话仍处于活动状态,现在可以从任何jsp获取这些值。

   int userid = session.getAttribute("userId"); 

答案 1 :(得分:3)

使用会话

在你的search.jsp

使用scard

session.setAttribute("scard","scard")放入会话中

//the 1st variable is the string name that you will reteive in ur next page,and the 2nd variable is the its value,i.e the scard value.

在下一页中,您可以使用session.getAttribute("scard")

检索它

<强>更新

<input type="text" value="<%=session.getAttribute("scard")%>"/>

答案 2 :(得分:3)

使用下面的代码将字符串从一个jsp传递到另一个jsp

A.jsp

   <% String userid="Banda";%>
    <form action="B.jsp" method="post">
    <%
    session.setAttribute("userId", userid);
        %>
        <input type="submit"
                            value="Login">
    </form>

B.jsp

    <%String userid = session.getAttribute("userId").toString(); %>
    Hello<%=userid%>

答案 3 :(得分:0)

假设我们要将三个值(u1,u2,u3)从'show.jsp'传递到另一个页面'show.jsp' 制作三个隐藏文本框和一个自动点击的按钮(使用javascript)。 //用'show.jsp'编写的代码

<body>
<form action="display.jsp" method="post">
 <input type="hidden" name="u1" value="<%=u1%>"/>
 <input type="hidden" name="u2" value="<%=u2%>" />
 <input type="hidden" name="u3" value="<%=u3%>" />
 <button type="hidden" id="qq" value="Login" style="display: none;"></button>
</form>
  <script type="text/javascript">
     document.getElementById("qq").click();
  </script>
</body>

//要在'display.jsp'中编写的代码

 <% String u1 = request.getParameter("u1").toString();
    String u2 = request.getParameter("u2").toString();
    String u3 = request.getParameter("u3").toString();
 %>

如果你想在javascript中使用这些servlet变量,那么只需编写

即可
<script type="text/javascript">
 var a=<%=u1%>;
</script>

希望有所帮助:)

答案 4 :(得分:0)

How can I send data from one JSP page to another JSP page? 我从上述讨论中筛选出的最佳答案之一。

可以通过三种方式完成:

  1. 使用请求属性: 将值设置为使用您选择的名称作为 request.setAttribute("send", "valueToSend") 在请求属性中发送,并使用 request.getAttribute("send") 在另一个 jsp 上检索它;
  2. 使用会话属性 与上面类似,但使用会话对象而不是请求。
  3. 使用应用程序属性 与上面的 1 和 2 相同,但使用应用程序对象代替请求和会话。