JSP動作 - include和forward簡介和使用


1、動作元素簡介

1)定義:動作元素是在客戶端請求時期動態執行的,每次有客戶端請求時可能都會被執行一次

2)語法格式:

  ①空標記形式:<jsp:動作名稱 屬性1="屬性值1" 屬性2="屬性值2" …… />

  ②非空標記形式:

  <jsp:動作名稱 屬性1="屬性值1" 屬性2="屬性值2" …… />

  ...

  </jsp:動作名稱>

 

2、include動作元素

1)定義:在JSP頁面的執行過程中,將包含進來的文件插入到JSP頁面的特定位置。

2)語法格式:

  ①不設置任何參數:

  <jsp:include page="URL" flush="true" />

  ②通過<jsp:param>動作設置參數:

  <jsp:include page="relative URL" flush="ture">

    [<jsp:param.../>] *

  </jsp:include>

  屬性:

  • page:指定被包含資源的相對路徑,該路徑是相對於當前JSP頁面的URL
  • flush:可選,設置是否刷新緩沖區,默認值為false。如果設置為true,則當前頁面輸出使用緩沖區的情況下首選刷新緩沖區,然后執行包含操作。

3)用法示例:

<jsp:include page="time.jsp">
  <jsp:param name="time" value="current"/>
</jsp:include>

 

3、forward動作元素

1)定義:將客戶端所發送的請求從一個JSP頁面轉發到另一個JSP頁面、Servlet或者靜態資源文件,請求被轉向到的資源必須位於發送請求的JSP頁面相同的上下文環境之中。

2)語法格式:

  ①不設置任何參數:

  <jsp:forward page="URL" />

  ②通過<jsp:param>動作設置參數:

  <jsp:forward pafe="URL" >

    <jsp:param name="paramName" value="paramValue" />

  </jsp:forward>

3)用法示例:

index.jsp

<form action="checkUserAge.jsp" method="post">
    姓名:<input name="userName" type="text"><br />
    年齡:<input name="userAge" type="text"><br />
    <input type="submit" value="提交">
</form>

 

checkUserAge.jsp

 <%
    boolean isLegality = true;
    String userAge = request.getParameter("userAge"), userName = request.getParameter("userName");
    if (userAge.equals("")) isLegality = false;
    for (int i = 0; i < userAge.length(); i++) {
        if (!Character.isDigit(userAge.charAt(i))) isLegality = false;
    }
    if (isLegality) {
%>
    <jsp:forward page="WelcomePage.jsp">
        <jsp:param name="userName" value="<%=userName%>" />
    </jsp:forward>
<%
    } else {
%>
    <jsp:forward page="InvalidPage.jsp">
        <jsp:param name="userName" value="<%=userName%>" />
    </jsp:forward>
<%
    }
%>

 

WelcomePage.jsp

welcome to this page: <%=request.getParameter("userName")%>, your age is reight.

 

InvalidPage.jsp

<%=request.getParameter("userName")%>, your age is invalid.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM