页面跳转的几种方式

  http头实现页面跳转:  
   
  out.println("<meta   http-equiv='refresh'     content='0;url=xxxxx.jsp'>");  
   
  content是指跳转的时间间隔,单位为秒  
   
  ----------------------------------------------  
   
  forward方法实现跳转:  
   
  <%    
        String   url   =   "index.jsp";  
  %>  
  <jsp:forward   page=url>  
        <jsp:param   name="id"   value="<%=userid%>">  
  </jsp:forward>  
   
  -------------------------------------------------  
   
  response跳转:  
   
  response.sendRedirect(url);  
  或  
  response.encodeRedirectURL(response.encodeRedirectURL(url));  
  对要用的URL编码,如果cookie打开的话,sessionid通过cookie传递,这个方法原样返回;如果cookie没打开的话,这个方法会在你的url后面加上sessionid的参数,保证你的session传递。  
   
  ---------------------------------------------------  
  区别:  
   
  forward执行后,地址栏链接不变  
  sendRedirect()执行后,地址栏链接会更换  
  由此可知forward的执行是在服务器完成的,重定向到其他文件取出内容输出到页面,并且可以附加参数传递  
  而sendRedirect,可以认为是客户端完成,相当于客户端又重新发了一个get请求,要服务器传输另一个文件过来。  
   
  <jsp:forward>能够向目标文件传送参数和值。如果使用了<jsp:param/>标签的话  
  ,目标文件必须是一个动态的文件,能够处理参数。如果使用了非缓冲输出,那么使用  
  <jsp:forward>时就要小心;如果使用<jsp:forward>之前,JSP文件已经有了数据,那么  
  文件运行将会出错。<jsp:forward>标签从一个JSP文件向另一个文件传递一个包含用户  
  请求的request对象,<jsp:forward>标签以下的代码将不能运行。 
在HTML页面中,阻止页面跳转通常是为了防止用户在进行某些操作(如提交表单)时页面刷新或跳转到其他页面,从而影响用户体验。以下是几种常见的阻止页面跳转方式: 1. 在HTML表单中使用JavaScript: 在表单提交时,可以通过JavaScript的`event.preventDefault()`方法阻止表单的默认提交行为。例如,在表单的提交事件处理器中调用此方法。 ```html <form onsubmit="event.preventDefault();"> <!-- 表单内容 --> </form> ``` 2. 在JavaScript事件处理器中使用return false: 当使用JavaScript为元素绑定了点击等事件处理器时,可以在处理器的函数中返回`false`来阻止默认行为。 ```html <a href="example.html" onclick="return false;">点击这里</a> ``` 3. 使用Ajax进行数据提交: 在不刷新页面的情况下,通过Ajax技术(如使用jQuery的`$.ajax`方法)提交数据到服务器,并处理响应,从而避免了页面跳转。 ```javascript $.ajax({ url: 'example.php', type: 'POST', data: { name: 'John', location: 'Boston' }, success: function(response) { // 处理服务器响应 } }); ``` 4. 在表单提交中使用AJAX: 可以在表单的`onsubmit`事件处理器中使用AJAX提交表单数据,然后阻止表单的默认提交行为。 ```html <form id="myForm" onsubmit="event.preventDefault(); submitForm(); return false;"> <!-- 表单内容 --> </form> <script> function submitForm() { // 使用AJAX提交表单数据 // ... } </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值