
【51】
Jsp與Servlet之間的傳值有兩種,一種是Jsp傳值給Sevlet,另一種是Servlet傳值給Jsp;使用request、response對象完成傳值,具體實現如下:
Jsp與Servlet之間的傳值有兩種,一種是Jsp傳值給Sevlet,另一種是Servlet傳值給Jsp;使用request、response對象完成傳值,具體實現如下:
1.JSP傳值給Servlet
JSP傳值給Servlet有幾種形式:Form表單傳值,url傳值,其他方式傳值
a、form表單傳值:
JSP頁面有:
<
將department的id傳到Sevlet中,在程序中如下:ServletRequest request;
String
可獲取jsp傳的department,但要獲取id還要進行轉化:
int
b、url傳值
比如這里的 <a>標簽的 href屬性與 <form>標簽的 action屬性的值 "JspServlet?action=toServlet",在 servlet同樣用 request.getParameter("action")獲取;
c、java代碼傳值
java片段代碼,servlet只能接到 session.setAttribute("testSession","Hello session")的內容,而接不到 request的內容。在 servlet里用 request.getSession().getAttribute("testSession")獲取 session內容。
2.Servlet傳值給Jsp
具體實現如下:
java代碼:
String
jsp頁面:
<%
jsp頁面就可以取出Servlet的值。
3.從servlet到jsp的方法
從 servlet轉到 jsp不外乎兩種方法,重定向 和 url轉發
a、重定向 ( Redirect):是路徑的跳轉,內容和 url都改變。不允許帶 request參數( session參數可以),即不允許在servlet里給 request對象使用setAttribute方法傳給下一頁面。
在 servlet里使用 response.sendRedirect(url) 方法。
注意這里的 url前不帶斜線 /,如 response.sendRedirect(”test.jsp“)
b、url轉發 ( Forward):是頁面的跳轉,頁面內容發生改變,url不變。可以帶 request和 session參數。在 servlet里使用
getServletConfig
而這里的url前需要帶斜線 /,如
getServletConfig
4、從jsp到servlet的方法
a、表單:post方法提交表單
b、鏈接:url方式(帶參數)