JSP应用开发是很多编程爱好者的关注,它是实现具体功能的途径,JSP实现页面的跳转功能需要使用jsp forward Action。
语法:
- jsp:forward page="{relativeURL|%= expression %}"/ 或
- jsp:forward page="{relativeURL|%= expression %}"
- jsp:param name="parameterName"
- value="{parameterValue|%= expression %}"/+/jsp:forward
这个action使您可以将request向前到另外一个页面。它只有一个属性,page。Page应有一个相对的URL组成。这可以是一个静态的值或者是能够在被请求的时候计算得到的值,就如下面两个例子一般:
- jsp:forward page="/utils/errorReporter.jsp"/
- jsp:forward page="%= someJavaExpression %"/
- !supportEmptyParas]>
现在以一个具体例子来说明:在test1.jsp中使用forward使其跳转到test2.jsp页面中,实现页面跳转。
JSP实现页面跳转之Test1.jsp
- HTML
- HEAD
- TITLEforward test/TITLE
- !supportEmptyParas]>
- /HEAD
- !supportEmptyParas]>
- BODY BGCOLOR="#FFFFFF"
- !--跳转到test2.jsp--!
- jsp:forward page="/test2.jsp"/
- /BODY
- /HTML
- !supportEmptyParas]>
JSP实现页面跳转之Test2.jsp
- HTML
- HEAD
- TITLE forward test /TITLE
- !supportEmptyParas]>
- /HEAD
- !supportEmptyParas]>
- BODY BGCOLOR="#FFFFFF"
- %out.println("这是jsp2.jsp页面产生出的输出");%
- /BO#@62;
- /HTML
- !supportEmptyParas]>
运行test1.jsp,可在浏览器中看见,这样的JSP应用开发:"这是jsp2.jsp页面产生出的输出"的输出信息。但是如果你在test1.jsp和test2.jsp这两个页面中有参数传递怎么办呢?用get方式吧,不但总的长度有限制,使用现在十分不方便,而且有时候还不安全。其实我们完全可以使用jsp1.1中给forward里提供的para属性就可以解决。现以test3.jsp和test4.jsp来说明。
- !supportEmptyParas]>
- Test1.jsp
- HTML
- HEAD
- TITLE forward test /TITLE
- !supportEmptyParas]>
- /HEAD
- !supportEmptyParas]>
- BODY BGCOLOR="#FFFFFF"
- jsp:forward page="/test4.jsp"
- jsp:param name="name" value="powerman"/
- jsp:param name="address" value=" 北京市海淀区西三环北路21号久凌大厦北楼505室"/
- /jsp:forward
- /BODY
- /HTML
- !supportEmptyParas]>
- test2.jsp
- HTML
- HEAD
- TITLEforward test/TITLE
- !supportEmptyParas]>
- /HEAD
- !supportEmptyParas]>
- BODY BGCOLOR="#FFFFFF"
- %
- out.println("这是jsp4.jsp页面产生出的输出"+"br");
- out.println("姓名:"+request.getParameter("name")+"br");
- out.println("地址:"+request.getParameter("address")+"br");
- !supportEmptyParas]>
- %
- /BODY
- /HTML
运行Test3.jsp,可在浏览器中看见输出信息 :
- "这是jsp4.jsp页面产生出的输出
- 姓名:powerman
- 地址:北京市海淀区西三环北路21号久凌大厦北楼505室"
通过以上的JSP实现的页面跳转是不是很有意思呢?对你再编程的思路是不是有点启发呢?