在jsp1页面上, 根据输入的值查询,得到结果后,点击超连接到另外一jsp2,jsp2上也需要输入值查询。
如何实现,在jsp1输入框中输入的值填充到jsp2上。我起初把form设置到session中,会干扰其他功能模块。有什么好的方法吗?
还是将输入的值存入request中,如果这样子条件很多怎么办呢?

解决方案 »

  1.   

    用jsp1 上 用request.setAttribute();设置已经有的条件,在jsp2 上 用request.getAttribute();获取已经用的条件;
      

  2.   

    form里面设置所有条件的bean
    比如:
    strPage1Cond1
    strPage1Cond2
    strPage1Cond3
    strPage2Cond1
    strPage2Cond2然后提交的时候,
    每个页面的控件取自己页面上的值,然后需要前页的值的控件就设置成前页的名字,
    比如在第2页上
    <input type="text" name="strPage2Cond1" value="" />
    <input type="text" name="strPage2Cond2" value="" /><input type="hidden" name="strPage1Cond1" value="<%=actionForm.getStrPage1Cond1()%>" />
    <input type="hidden" name="strPage1Cond2" value="<%=actionForm.getStrPage1Cond2()%>" />
    <input type="hidden" name="strPage1Cond3" value="<%=actionForm.getStrPage1Cond3()%>" />当然要每个页面提交的ActionForm都是这一个,
    而且要注意进行清空等操作,凭空想象,完全不负责任 ^^good luck
      

  3.   

    jsp1中
    Map map = new HashMap();
    map.put(key,value)
    request.setAttribute("xx",map);jsp2中
    Map map = request.getAttribute("xx");
    map.get ...如需继续传值 
    map.put...
    request.setAttribute("xx",map);....
      

  4.   

    最好的办法是在超链接后面接上在jsp1 的查询条件   
    首先  你通过javascript  拿到输入的查询值   然后拼接   赋给a标签  这样就可以了额
      

  5.   

    首先jsp1和jsp2的form中的相关属性名称要一样。这样jsp1,jsp2上控件的属性名必须要一样。接下来,lz用button提交给jsp2的action,赋值应该会由struts自动实现(和一般的提交方法应该是一样的)。最后,把button伪装成超链接就行了伪装方法
    <input type="button" style="background-color:transparent;color:blue;border-style:none;padding:0px; margin:0px;cursor:pointer;text-decoration: underline;" value="Find"/>以上方法的优势在于,无需编写任何javascript代码,同时修改量最少,而且全浏览器兼容
      

  6.   

    如果要这样  form必须要提交吧
      

  7.   

    提交有两种方式,一种是超链接,一种是form。就算是ajax,本质上还是提交。
      

  8.   

    谢谢大家,呵呵。问题解决:主要还是原理没弄懂。
    由于jsp1和jsp2两个页面的输入值的性质一样,所以做成一个公用的form,form中包含的属性就是两个页面输入框的属性。在jsp1操作后,就将值存入request中,点击超链接后,由于属性名字一样,当跳到jsp2上时输入框会自动填充值。
      

  9.   

    跳入jsp2的时候是整个画面跳过去,而不是打开一个popup之类的吧。那就用button跳,伪装成超链接。省事
      

  10.   

    跳入jsp2的时候是整个画面跳过去,而不是打开一个popup之类的吧