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.