虚心请教各位:
    我是用struts搭的框架,做了一个登录页面,发现点击【登录】按钮时,
地址栏的URL用户名称和密码的参数值都显示出来了:
    http://127.0.0.1:8080/ept/loginAction.do?&user_id=admin&password=1
    这不是要出大问题吗我在网上搜索了相关资料,发现解决的办法大概分为以下几种(1)、写在ssesion里面:这种方法我认为要向服务端提交小部分数据还可行,但如果数据量大的话,会影响性能(2)、用POST提交参数:我尝试过用post提交参数,代码如下:
       
        var username;
        var password;
        username=document.login.u_id.value;
        password=document.login.u_password.value;       var objXMLReq = new ActiveXObject("Microsoft.XMLHTTP");
       var strURL = "http://127.0.0.1:8080/ept/loginAction.do?u_id="+username+"&u_password="+password
       objXMLReq.open("POST",strURL, false);
       objXMLReq.send("");      数据是提交成功了,但是 return actionMapping.findForward("success");不管怎样就是不跳转了,我用
      document.login.submit()是可以跳转的
   
       然后在后面加了段代码      var result = objXMLReq.responseText;
         if(result=="ok"){
         document.login.action="http://127.0.0.1:8080/ept/indexmanage.jsp";
         document.login.submit();
       }      跳是可以跳了,但struts最大的优势不就是可以在action里面跳转,隐藏跳转路径吗?这样写不就没有
     用到struts的优势了?(3)用隐藏域:struts的隐藏域是不是就是
               <input type="hidden" value="" name="u_id" size="20" maxLength="64">吗?
               我试过了,没用,参数值照样显示出来。     我是新手,对javascript、struts都是看了些文档来做的,有很多不清楚的地方
    
     请问高手?有没有可以传递大量数据?又可以使struts actionMapping.findForward()可用的办法?
     
     

解决方案 »

  1.   

    post 不是那样用的objXMLReq.open("POST","xx.do", true);
          objXMLReq.send("par=xxx"); 
      

  2.   

      objXMLReq.send("par=xxx"); 这里面的参数格式怎么写?两个以上,用分号分格吗?
      

  3.   

    和你url一样写
    参数你最好编码一下,可以网上找找
      

  4.   

    不让它显示,表单post提交或ajax,另外 "但struts最大的优势不就是可以在action里面跳转,隐藏跳转路径吗?"并不是struts最大优势.
    你直接提交后,在result 里面写下success转到哪,error转到哪不就好了,何必这么麻烦.