本帖最后由 xiezhiyong3621 于 2011-09-23 14:52:05 编辑

解决方案 »

  1.   

    把参数存到session中 也不能取到?
      

  2.   

    框架其实应该是一个html吧,用js可以。
      

  3.   

    不行的,试过了,用js可以传过来,能读到。可是传一次就刷新了一次,c.jsp页面不能刷新的。
      

  4.   

    在页面跳转的时候,将参数放在地址后面传试试,url = "c.jsp?id="+id;
      

  5.   

    在B就算出tt(),再吧结果传递到C
      

  6.   

    有两种传值:第一种是url = "c.jsp?id="+id;,在c.jsp request.getParameter(id)获取,另一个深究是用session
      

  7.   

    你把流程说明白了,你那b.jsp刚一打开就要实例化test还是,点击b.jsp上的某个链接,实例化test的,什么时候实例化test,干着急没用,话得说明白楼
      

  8.   

    还是这位老兄细心。就是点击某个连接就传值给c.jsp。因为本人在做一个串口程序,所以,c.jsp是实例类打开串口。所以不能重复打开,那样就会报错。所以不能刷新。就是不知道怎样传值过来。无语了。
      

  9.   

    你的流程是不是这样的,首先点击b.jsp的一个连接,然后传一个值比如说A,然后经过一个方法,然后在带着A这个参数转向到c.jsp  然后例如说把A显示到c.jsp?这样么
      

  10.   

    差不多。就是要得到b.jsp传递过来的参数。
      

  11.   

    c不跳转就需要c中js去请求变量的变化,ajax定时请求服务器变量的值如果有变化,在dom中体现出来
      

  12.   

    lz如果session和jsp直接传值不行的话,我建议你用数据库来存值。
      

  13.   

    楼主 是什么框架?
    一般传值问题
    session request application page
    这些都能帮你解决
      

  14.   

    用的是html的框架:
    <FRAMESET cols=" *,130">
     <FRAME name=main src="b.jsp" frameBorder=0 noResize scrolling=yes>
     <FRAME name=menu src="c.jsp" frameBorder=0 noResize>
    </FRAMESET>
     
    <noframes>
    </noframes>
      

  15.   

    如果你不刷新页面就想获得传值的话,应该就只能用ajax了,那会比较麻烦……要不然的话可以通过js传值,然后通过js代码处理你调用对象方法之后得出来的结果
      

  16.   

    楼主非的用iframe吗?什么样的工作有这样的需求啊?
      

  17.   

    呵呵,说的容易做得难。做的难,实际上也能做。
    在b.jsp中传递东西,到后台Servlet,把值存在Session中。c.jsp设置个定时器,每多少时间用ajax访问下后台Servlet,然后在Servlet取出Session中的值。但是这样也很有问题啊。定时器时间设置长了,在b.jsp传递的东西,不会立刻在c.jsp中显示,时间短了,效率又很差。
      

  18.   

    我简单做个,功能是实习了,但总觉的这样做不是很好,都是当大量用户并发访问时。
    a.jsp<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>A jsp</title>
    </head>
    <frameset cols="50%,50%">
    <frame name=main src="${pageContext.request.contextPath }/jsp/b.jsp" frameBorder="0" noResize scrolling="yes" >
    <frame name=menu src="${pageContext.request.contextPath }/jsp/c.jsp" frameBorder="0" noResize >
    </frameset>
    </html>b.jsp<%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script type="text/javascript" src="${pageContext.request.contextPath }/jQuery/jquery.js">
    </script>
    <script type="text/javascript">
    function sendMessage(){
    var message = document.getElementById("message").value;// 得到消息
    var url = "${pageContext.request.contextPath }/servlet/ReceiveMessageServlet";
    $.post(url,{message:message,flag:"b"},callback,"text");
    }
    function callback(data){
    }
    </script>
    <title>B jsp</title>
    </head>
    <body>
    <form action="" method="post">
    Message:<input type="text" size="30" id="message" name="message" />
    <br />
    <br />
    <input type="button" value="Send Message" onClick="sendMessage();"/>
    </form>
    </body>
    </html>c.jsp<%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script type="text/javascript" src="${pageContext.request.contextPath }/jQuery/jquery.js">
    </script>
    <script type="text/javascript">
    window.onload=function(){
    var url = "${pageContext.request.contextPath }/servlet/ReceiveMessageServlet";
    setInterval(function(){
    $.post(url,{flag:"c"},callback,"text");
    },2000);
    function callback(data){
    var cmessage = document.getElementById("cmessage");
    cmessage.value=data;
    }
    }
    </script>
    <title>C jsp</title>
    </head>
    <body>
    <span>Message:</span><input type="text" id="cmessage" value="" size="20" />
    </body>
    </html>web.xml<servlet>
       <servlet-name>receiveMessageServlet</servlet-name>
       <servlet-class>com.web.ReceiveMessageServlet</servlet-class>
      </servlet>
    <servlet-mapping>
       <servlet-name>receiveMessageServlet</servlet-name>
       <url-pattern>/servlet/ReceiveMessageServlet</url-pattern>
      </servlet-mapping>后台Servletpublic class ReceiveMessageServlet extends HttpServlet{ @Override
    protected void service(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
    request.setCharacterEncoding("UTF-8");
    response.setContentType("text/html;charset=UTF-8");

    String flag = request.getParameter("flag");//主要判断是从b.jsp还是c.jsp过来的
    HttpSession session = request.getSession();

    if("b".equals(flag)){ // 从b.jsp过来
    String message = request.getParameter("message");// 接收到前台数据message
    session.setAttribute("message", message);
    System.out.println("message="+message+"  flag="+flag);
    }else if("c".equals(flag)){// 从c.jsp过来
    PrintWriter out = response.getWriter();
    String newMessage = (String)session.getAttribute("message");
    out.print(newMessage);
    out.flush();
    out.close();
    }
    }
    }
      

  19.   

    高手,有在线吗,弱弱再问个问题,这个问题,我也解决了。可是最终的目的是在c.jsp页面里。有实例一个类。然后b.jsp传过来的参数,我在c.jsp里引用的。
    如b.jsp传过来的是"123456789",那么c.jsp页面实例一个类。如:Matter mt=new Matter();
    mt.Send(number);//number即为b.jsp传过来的123456789.//Send()类如果有数据就处理,没数据就不处理。你上面的那个方法,我试过是可行的。我用了一个html框架特有的方法也能实现这个功能:javascript:window.parent.menu.bb.bbb.value=aa.aaa.value;
    可能之前说的不够明白。希望高手再帮帮忙。多谢多谢啊。