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.

 

posted @ 2019-10-09 13:39  Qi-BJ  阅读(2007)  评论(0编辑  收藏  举报