向各位大虾求助下,
我在JSP页面中做了一个函数getvalues()返回一个string,
现在想通过a href链接至其他action。
拼接url时才发现具体传参不会写。请教:想实现<a href="xxx.do?param=aa()"应该怎样写。谢谢。

解决方案 »

  1.   

    在方法里调用这个返回String的方法。在转到action方法中啊。
      

  2.   

    可以这样,超链接这样写:
    <a href="#" onclick="aaa();">然后在js方法aaa中进行超链接跳转:
    function aaa(){
      var param = getvalues();
      window.loaction="xxx.do?param="+param;
    }
      

  3.   

    把 href 里面放onclick 直接到js函数不行吗
      

  4.   

    比较郁闷的是这个项目采用的是struts2框架,
    还加了一个filter不能直接跳转至指定的action。
      

  5.   

    谢谢,不过因为存在filter的关系,没办法直接使用js的location进行页面跳转
      

  6.   


    不会吧,超链接可以跳过去,location不可以???
    不知道你的filter是怎么写的。你过滤的是什么,如果是过滤非登陆跳转的话这个是不会有问题的,session可定是一个的。
    怎么会有这种filter,还不能直接请求action,struts2的标准做法是不让直接请求jsp文件,所有的都先过action然后再跳转。
      

  7.   

    js获得<a>元素,对<a>元素的href赋值应该就可以了
      

  8.   

    唉,老兄。所以我才郁闷在这个地方。之前的人在filter中只做了指定允许访问的action,传参的时候只能从form中获得。现在的需求是需要从页面生成的url中拼接出参数去访问action,结果我又不能修改之前的filter,还要继续访问action。我都无语了。
      

  9.   

    window.location.href="你要要转向的网址"
      

  10.   

    <a href="javascript:aaa()" >然后在js方法aaa中进行超链接跳转:
    function aaa(){
    var param = getvalues();
    document.forms[0].action="xxxx.do";
    document.forms[0].submit();
    }jsp页面设置一个隐藏域:
    <input type="hidden" name="param" value="paramValue">在action中定义一个属性param(与jsp页面的属性名保持一致)以及setParam,getParam方法,就能直接在action中获得该参数值了
      

  11.   

    谢谢大家的帮助,问题已经解决了。
    因为本人的确对基于struts2的复合框架了解不多,又有部分的访问条件限制。
    最后的解决方案为:使用js触发事件,对href重定向才避开了filter。
    谢谢大家,谢谢welllit。