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