JSP頁面間傳遞參數(shù)是經(jīng)常需要使用到的功能,有時還需要多個JSP頁面間傳遞參數(shù)。下面介紹一下實現(xiàn)的方法。
(1)直接在URL請求后添加
如:< a href="thexuan.jsp?action=transparams&detail=directe">直接傳遞參數(shù)< /a>
特別的在使用response.sendRedirect做頁面轉(zhuǎn)向的時候,也可以用如下代碼:
response.sendRedirect("thexuan.jsp?action=transparams&detail=directe") ,可用request.getParameter(name)取得參數(shù)
(2)jsp:param
它可以實現(xiàn)主頁面向包含頁面?zhèn)鬟f參數(shù),如下:
1.< jsp:include page="Relative URL"> 2. 3.< jsp:param name="param name" value="paramvalue" /> 4. 5.< /jsp:include> 還可以實現(xiàn)在使用jsp:forward動作做頁面跳轉(zhuǎn)時傳遞參數(shù),如下:
1.< jsp:forward page="Relative URL"> 2. 3.< jsp:param name="paramname" value="paramvalue" /> < /jsp:forward> 通過這種方式和一般的表單參數(shù)一樣的,也可以通過request.getParameter(name)取得參數(shù)
(3)設(shè)置session和request
通過顯示的把參數(shù)放置到session和request中,以達到傳遞參數(shù)的目的
1.session.setAttribute(name,value); 2. 3.request.setAttribute(name,value) 取參數(shù):
1.value=(value className)session.getAttribute(name); 2. 3.value=(value className)request.getAttribute(name); 4. 大家肯定已經(jīng)注意到了,在取參數(shù)的時候,做了類型轉(zhuǎn)換,這是因為放置在session和request中的對象的屬性被看作 java.lang.Object類型的了,如果不轉(zhuǎn)換,在將直付給value時會報classcastexception異常。
在多個JSP頁面之間傳遞參數(shù)
1. 怎么在多個JSP頁面之間進行參數(shù)傳遞?需要使用JSP的內(nèi)置作用域?qū)ο髎ession。利用它的兩個方法setAttribute(),getAttribute()
2. 下面的這個實例實現(xiàn)了把第一個JSP頁面的參數(shù)傳遞給第三個頁面的功能
3. 代碼如下:1.jsp
1.< html> 2. < form method=get action=2.jsp> 3. what's your name< input type=text name=username> 4. < input type=submit value=submit> 5. < /form> 6.< /html> 4. 2.jsp
1.< html> 2. 3. < form method=post action="3.jsp?pass=11"> 4. < % 5. String name=request.getParameter("username"); 6. session.setAttribute("username",name); 7. %> 8. Your name is:< %=request.getParameter("username")%> 9. < br>what's your hobby< input type=text name=hobby> 10. < input type=submit value=submit> 11. < /form> 12.< /html> 13. 14. 5. 3.jsp
1.< html> 2. your name is:< %=session.getAttribute("username")%> 3. < br> 4. your hobby is:< %=request.getParameter("hobby")%> 5. < br> 6. your password is:< %=request.getParameter("pass")%> 7. < br> 8. < /form> 9.< /html>