关于struts2返回参数的问题

我在拦截器里通过request.getHeader("Referer")获得了浏览器的访问记录,现在在action里想直接调用访问记录的地址予以返回,不知道描述的是否清晰。

 

假设有一条这样的访问记录http://localhost:8080/aaa/bbb.action?id=1&name=2

 

发现如果返回action,带参数的话,在转发之后参数会被去掉,即变成http://localhost:8080/aaa/bbb.action

 

大家有没有什么办法? 我的配置文件采用了比较山寨的零配置方案,参考了这个文档:http://www.blogjava.net/goldrain/archive/2009/04/07/264215.html

 

关于request.getHeader("Referer")这部分,代码与下面类似:

 

 

  public void prepare() throws Exception {

        if ( request != null ) {
            String referer = request.getHeader( "Referer" );
            logger.debug(this, "prepare()","referer is '%'", referer);
        if ( referer != null ) {
            redirect( referer );
        } else {
            redirect( request.getContextPath() );
        }

        }

 

不知道描述的是否清楚,盼回复,非常感谢。


问题补充:
俺的问题解决了,很囧,居然把配置文件中的redirect-action改为redirect就解决了,大家共勉啊,至于为什么我现在还是想不太明白。

3个回答

redirect-action啊,
把request url分成 action 和 参数的
当然分开了。

直接查找.action的位置

把这个位置后面的删除就可以了

楼主是要保留 参数,还是要去掉参数?
你用的不是struts2的Interceptor吧。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问