forward 动作标签:
<jsp:forward page=”要转向的页面”>
</jsp:forward>
或
<jsp:forward page=”要转向的页面”/>
该指令的作用是:从该指令处停止当前页面的继续执行,而转向其他的一个JSP页面。
在下面例子的JSP页面中,首先随机获取一个数,如果该数大于0.5就转向页面example2.jsp,否则转向fileoutput.jsp
<%@ page contentType="text/html;charset=GB2312"%> <HTML> <BODY> <% double i=Math.random(); if(i>0.5) { %> <jsp:forward page="example2.jsp"/> <% } else { %> <jsp:forward page="fileoutput.jsp"/> <% } %> <p> 这句话和下面的表达式的值能输出吗? <%=i%> </BODY> </HTML>
example2.jsp
<%@ page contentType="text/html;charset=GB2312"%> <HTML> <BODY BGCOLOR=cyan> <FONT Size=4> <%! int i=0; %> <% i++; %> <p>您是第 <%=i%> 个访问本站的客户。 <p> </FONT> </BODY> </HTML>
fileoutput.jsp
<%@ page contentType="text/html;charset=GB2312"%> <%@ page import="java.io.*"%> <HTML> <BODY BGCOLOR=cyan> <FONT Size=4> <%! int number=0; File file=new File("count.txt"); synchronized void countPeople() { if(!file.exists()){ number++; try{ file.createNewFile(); FileOutputStream out=new FileOutputStream("count.txt"); DataOutputStream dataOut=new DataOutputStream(out); dataOut.writeInt(number); out.close(); dataOut.close(); }catch(IOException ee){} } else{ try{ FileInputStream in=new FileInputStream("count.txt"); DataInputStream dataIn=new DataInputStream(in); number=dataIn.readInt(); number++; in.close(); dataIn.close(); FileOutputStream out=new FileOutputStream("count.txt"); DataOutputStream dataOut=new DataOutputStream(out); dataOut.writeInt(number); out.close(); dataOut.close(); }catch(IOException ee){} } } %> <% countPeople(); %> <p>您是第 <%=number%> 个访问本站的客户。 <p> </FONT> </BODY> </HTML>运行效果: