做自己的一个项目的时候发现遇到了一些问题。
   在servlet中的request域中传递一个对象,让jsp页面接受,遇到了一个问题。在servlet中,实现页面的跳转有重定向和转发。
response.sendRedirect("");
request.getRequestDispatcher("path").forward(request, response);遇到的问题简化如下
servlet页面:package servlet;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;public class TestSer extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.sendRedirect("../test1.jsp");
//request.getRequestDispatcher("../test1.jsp").forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { }}jsp页面:<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP 'test1.jsp' starting page</title>
<script type="text/javascript" src="jquery.js"></script>    
<script>
$(document).ready(function() {
alert("test");
}); 
function test() {
alert("test1");
}
</script>    
  </head>
  
  <body>
    <input type="button" value="按钮" onclick="test();" />
  </body>
</html>
当用重定向的时候,jsp页面自动弹出警告,点击button,也会弹出警告。
但是当用转发的时候,jsp页面用jquery写的代码就没有自动弹出警告,点击button,会弹出警告。    由于我jsp页面要取出request域中的值,又必须得用request.getRequestDispatcher("../test1.jsp").forward(request, response);
实现转发,可是那样我那个jsp页面的jquery写好的代码又不能执行,煞是苦恼!!!不明白为什么

解决方案 »

  1.   

    用javascript测试发现不管是用重定向还是转发都可以执行。<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <title>My JSP 'test1.jsp' starting page</title>
    <script type="text/javascript" src="jquery.js"></script>    
    <script>
    alert("test");
    </script>    
      </head>
      
      <body>
        <input type="button" value="按钮" onclick="test();" />
      </body>
    </html>跳转到这个页面后都能打印!
      

  2.   

    我记得也遇见过这个问题。解决方法是路径问题。你试着调整一下路径,特别是导入的 jQuery 的路径,看看能行不。
      

  3.   

    <script type="text/javascript" src="../jquery.js"></script>  
    这样改,各种都试一下。
      

  4.   

    试下load吧,应该可以window.onload=function(){
    alert("ok");
    }
      

  5.   

    教给你一个最简单快捷的方法:
    页面里嵌入一个 image 对象,这个对象和 jQuery 放在同一个目录下。
    然后反复调试,什么时候转发后,这个 image 能看得到了,jQuery 就被正确引入了,当然你的“jsp页面用jquery写的代码就没有自动弹出警告”的问题也就没了。
      

  6.   

    我自己试了下
    完全可以!window.onload=function(){
    alert("ok");
    }
    $(function(){
    alert("kan........");
    });
        $(document).ready(function() {
            alert("test");
        }); 
      

  7.   

    jQuery本身是不是处理的不周到?
      

  8.   

    ${pageContext.request.contextPath}/..../jQuery.js
    直接整jquery的绝对路径
      

  9.   

    @我记得也遇见过这个问题。解决方法是路径问题。你试着调整一下路径,特别是导入的 jQuery 的路径,看看能行不。
      当时不懂,现在懂你现在说的话的意思了,其实你应该这么说的:你打开页面看源码,在点击那个js文件看能否打开,就会明白 哦 问题在这里。听不懂你们说的话 因为我们终究太年轻 经验不够。谢谢版主