用的struts2 框架
j1.jsp form 的input框里 hidden 一个属性str  并且 include j2.jsp
j1 和 j2 都有各自的form
j2.jsp 提交按钮到 action请问在action里 如何拿到 j1.jsp里的str?
request.getParameter("str") 好像拿不到

解决方案 »

  1.   

    ActionForm通过form获取,Struts中Form不就是用来保存页面上的值的吗.
      

  2.   


    因为是j1.jsp include j2.jsp  所以有2个form
      

  3.   

    从 session 里获取 应该会方便些
      

  4.   


    不能什么都放session里吧  也要考虑性能的
      

  5.   

    用一个脚本就解决问题了
    在j2.jsp form的 onsubmit事件中写一个js方法

    j1.jsp form 的input框里 hidden 一个属性str的值
    读取到
    j2.jsp form 中的一个hidden input中就OK了
      

  6.   

    在form中定一个封装str参数 像form中其他属性一样在action获得
      

  7.   

    提交表单的时候不需要考虑j1和j2页面存在2个form,在任何页面都可以用js提交
    var form = window.document.forms[0];
    form.action = "xxx.action";
    form.submit();就ok了!
      

  8.   

    多个form的时候.你这段提交的是第一个....
      

  9.   

    LZ也可以换个角度去看下代码.你include进来的代码其实已经在当前html合并了.考虑下是否真的需要2个form呢?
      

  10.   


    window.document.forms[0]是提交的第一个form,但是其他form的数据也可以在action中得到的!
      

  11.   

    request.getParameter("str") 好像拿不到
      

  12.   

    环是贴代码出来吧
    基本感觉所说的问题不明白
    你说你提交j2.jsp 
    而str属性是在j1.jsp HIdden的
    那我想问你 ,j2.jsp中都没这东西你想怎么得到?
      

  13.   

    这个是页面转发的问题,你可以用js先写一个request.setParameter();然后转发在用get()方法
      

  14.   

    var form = window.document.forms[0];
    form.action = "xxx.action后面跟参数";
    form.submit();在action中  request.getparamente("")方法
      

  15.   

    Struts2不建议用request获取参数,你声明一个属性提供下get和set方法比较好吧
      

  16.   

    傻了,用js写个onSubmit调用的方法
    function setIdToForm2(){
       var temp = getObjectById("某form1的input hidden id");
       var f2 = window.document.form2;//form2是id
       f2.action = f2.action +"?"+temp.name+"="+temp.value;
    }
      

  17.   

    "request.getParameter("str") 好像拿不到"
    这个肯定拿不到。因为你所提交的页面上根本不存在这个属性的组件。
    恐怕得考虑用JS了