如何在一個JSP頁面中調用另一個JSP頁面中的變數

來源:互聯網
上載者:User

在jsp學習中,經常需要在一個jsp頁面中調用另一個jsp頁面中的變數,下面就這幾天的學習,總結一下。

jsp頁面之間的變數調用有多種方法:

1、通過jsp的內建對象—request對象擷取參數:

(1)通過超連結傳參:

例:把a.jsp中i的值傳到b.jsp中:

在a.jsp頁面中的核心代碼為:

<a href="b.jsp?i=1">傳參</a>     (說明:給i賦值時也可以用jsp運算式,例如i=<%變數名 %>)

在b.jsp頁面中的核心代碼為:

<%String j=request.getParameter("i"); %>

<%=j %>

(2)通過表單傳參:

例:把a.jsp中表單中的name的值傳送到b.jsp中:

在a.jsp頁面中的核心代碼為:

<form action="b.jsp" method="post">             <ul>                   <li><input type="text" name="username">                   <li>w<input type="submit" name="submit" value="提交">             <ul>        </form>

在b.jsp頁面中的核心代碼為;

<%String getUserName=request.getParameter("username");>

<%=getUserName %>

(3)通過表單的隱藏欄位傳參:

例:把a.jsp中定義的變數傳送到b.jsp中;

在a.jsp中的核心代碼為:

<%!int a=4; %>  <form action="b.jsp" method="post">        <input type="hide" name="b" value=<%a%>>              <input type="submit" value="提交">        </form>

在b.jsp中的核心代碼為:

<%int c=(Integer)request.getAttribute("b"); %>

本欄目更多精彩內容:http://www.bianceng.cn/webkf/JSP/

(上段代碼或者為<%String c=request.getAttribute("c").toString(); %>等等,類型轉換通java一樣)
                            <%=c %>

運行結果:變數a=4的值通過表單隱藏欄位b傳到b.jsp中的c中。

2、通過JavaBean擷取表單資訊:

例:用JavaBean擷取使用者登入表單資訊:

Login.jsp中的核心代碼為:

<form action="Deal.jsp" method="post">               <ul>                    <li>使用者名稱:<input type="text" name="username">                    <li>密碼:<input type="password" name="password">                    <li><input type="submit" name="submit" value="登入">               </ul>        </form>

JavaBean中的核心代碼為:

package com;        public class UserBean{               private String username;               private String password;               public String getUserName(){                      return username;               }               public void setUserName(String username){                      this.username=username;                }               public String getPassword(){                      return password;               }               public void setPassword(String password){                      this.password=password;               }         }

Deal.jsp中的核心代碼為:

<jsp:useBean id="user" class="com.UserBean" >        <jsp:setProperty name="user" property="*">        <%String username=user.getUserName();%>        <%String password=user.getPassword();%>

得到的使用者名稱為:<%=username%><br>

得到的密碼為:<%=password%>

其中,Deal.jsp中的<jsp:setProperty name="user" property="*">中的星號是表示對所有同名的屬性賦值,當然還可以對屬性選擇性地賦值: <jsp:setProperty name="user" property="username">、<jsp:setProperty name="user" property="password">等。

當然肯定還有更好更多的方法,期待高手賜教。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.