给package加上了命名空间,访问的路径http://localhost:8080/project/pack/xxx.action,但是如果同一页面返回的话
其中的pack会无限重复,很无奈啊,难道只能加绝对路径才行吗?要是加上去真是看着很难受啊。总感觉这样很不方便啊哪位能帮忙看看啊,如果form的action只写/pack/xxx.action有办法能实现吗?

解决方案 »

  1.   

    <s:form action="xxx" theme="simple" method="post" namespace="/pack">
      

  2.   

    感谢2楼的,但是现在有个问题是你用的是Struts2的标签,但是如果我直接想用a标记或者是通过JS提交的话
    还是有问题啊。
    在说一下我的意思比喻说访问命名空间back  我在前台访问里面的action就得加上/back/xx.action这样url应该是:http://localhost:8080/project/back/xx.action问题出来了,当我在命名空间的同一目录再次访问的时候,url就会变成:http://localhost:8080/project/back/back/xx.action如果是无限的这样访问其中的back/就会在url无限重复显示,头疼啊当然,如果在表单的action里面写绝对路径的话可以避免这个问题但是总感觉那么写很丑很傻。谁能有好点的办法解决这个问题啊。。
      

  3.   

    一般就是:web应用路径 + '../你的相对路径'这样就没有你说的重复的问题
      

  4.   

    回楼上的,你说的还是加上绝对路径了这样很难看啊我是想问,有没不用写绝度路径,又能避免这样的情况啊,用Struts2开发的有人遇到这样的情况怎么解决的啊?难道只能写绝对路径吗?有没舒服点的办法啊?用过的高手解下疑惑啊,谢谢了!
      

  5.   

    曾经遇到过类似问题解决了,N久不用struts2今天再次遇到,其实就是一个/的问题
    我先添加一个用户:
    http://localhost:8088/SSHD/pingTai/userPingTaiAction!userAdd.action
    跳转到用户列表就变成了:
    http://localhost:8088/SSHD/pingTai/pingTai/userPingTaiAction!userList.action
    就是因为userAdd方法中的跳转路径pingTai/userPingTaiAction!userList.action前面应该有个/        
             public String userAdd(){
    if(null!=user){
    userServiceImpl.saveUser(user);
    }
    returnPageURL = "/pingTai/userPingTaiAction!userList.action";
    return "redirectAction";
    }        public String userList(){
                    returnPageURL = "/WEB-INF/jsp/pingtai/user/userList.jsp";
    return "dispatcher";
    }