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.