當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JSP动作标签
JSP的動作標簽由服務器解釋執行,動作標簽的格式是固定的,
- <jsp:forward>:這個動作標簽的用處,與Servlet的請求轉發是一樣的
- <jsp:include>:這個標簽的用處與Servlet的請求包含一致的,
- <jsp:param>:這個標簽用來作為forward和include的子標簽,用來給轉發或者包含的標簽傳遞參數?
來看一個例子:
a.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head><title>Title</title> </head> <body> <h1>a.jsp</h1> <jsp:forward page="b.jsp"><jsp:param value="yu" name="username"/><jsp:param value="123" name="password"/> </jsp:forward> </body> </html>b.jsp
<h1>b.jsp</h1> <%String username = request.getParameter("username");String password = request.getParameter("password"); %> <%= username%> <%= password%>
我們請求a.jsp發現服務器給我們響應的內容包含兩個兩個jsp頁面,在來查看生成的java文件,發現生成了兩個java文件,可見這種包含,與JSP的include指令是有區別的,查看源碼,發現a_jsp.javad的_jspService方法中多了這么一句代碼:
org.apache.jasper.runtime.JspRuntimeLibrary.include(request, response, "b.jsp", out, false);在a.jsp中的<jsp:include>動作標簽被轉換為了一種方法調用,并將b.jsp當作參數傳遞了進去,同時還有request和response兩個參數,可見它們使用了同一個request和respnse,所以能能同時對客戶端響應,注意只有使用<jsp:include>標簽,a.jsp和b.jsp才可以都對客戶端進行響應,<jsp:forward>標簽,使用該標簽的jsp頁面只能設置響應頭。如果使用的是<jsp:forward>標簽,那么服務器給我們的響應只有b.jsp。
?
在context.xml中配置reloadable
當我們修改文件之后,一般要重啟服務器,在在context.xml中配置reloadable=true,之后可避免這個問題,這種方式適合在項目開發階段使用
<Context reloadable="true"> </Context>
?
轉載于:https://www.cnblogs.com/yusiming/p/9780418.html
總結
- 上一篇: 开源大数据周刊-第102期
- 下一篇: 福布斯全球最佳雇主榜:网易排名80 大幅