顺便说一下,如果我把js文件中的代码放到htm中,就正常执行了,
显示图片还是无法正常.该怎么解决啊,
搞 了一天了,还没搞出来,
郁闷死了,
高手帮我看看呀

解决方案 »

  1.   

    action名字空间的问题注意你的action路径:
    http://yourproject/strutsqs/login.action
      

  2.   

    应该将你的js文件放到项目的根目录下,而不是ruler_ctrl.htm所在的目录,如你的web项目运用名为test,你应该是这样访问你的“login.action”:http://localhost:8080/test/login.action,如果你这样配置你的struts.xml:
    <?xml version="1.0" encoding="GBK"?><!-- 指定Struts 2 配置文件的 DTD 信息  -->
    <!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation //DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd"><!-- struts 是Struts 2配置文件的根元素 -->
    <struts>
        <!-- Struts 2 的Action必须放在指定的包空间下定义 -->
        <package name ="strutsqs" extends="struts-default" namespace="/aaa">
            
            <!-- 定义login的action, 并指定实现类为zj.LoginAction类-->
            <action name="login" class="zj.LoginAction">
                <!-- 定义处理结果与资源之间的映射关系 -->
                <result name="error">/error.jsp</result>
                <result name="success">/map/ruler_ctrl.htm</result>
            </action>
        </package>
    </struts>这样则就应该这样访问“login.action”了:http://localhost:8080/test/aaa/login.action,这时你的js文件就要放到项目根目录的aaa子目录下了。
      

  3.   

    准确的说就是你用action的时候路径变了,假如action url 为 localhost:8080/项目名称/test.action.
    你的html中js路径为js/test.js,那么它就会去找/项目名称/js/test.js。
    如果你将所有的路径都换成/项目名称/js/test.js.应该就没问题了
      

  4.   

    图片不出来当然是路径问题了!你仔细看下跳转action和打开的html的路径,再看下你图片的属性,图片路径
      

  5.   

    谢谢诸位的回答,但有个问题还是没有搞清楚,     在 namespace="/aaa" 的条件下
    <result name="success">/map/ruler_ctrl.htm</result>
    实际访问的是 %项目名称%/aaa/map/ruler_ctrl.htm
    这一点我测试出来的,但是.在html文挡中,路径出问题了.html文件中包含近来一个js文件
    <script src="./ruler.js" type="text/javascript"> </script> 
    这里是指定了路径的.就是html文挡的当前目录下寻找js文件增加了 namespace="/aaa" 之后,问题出来了
    包含的js文件,和html文件同时放在  /aaa下 
    <script src="./ruler.js" type="text/javascript"> </script>
    语句却无法找到js,它仍然到  %工程名称%/目录下去找,而不是在%工程名称%/aaa下去找也就是说namespace把action %工程名称%/aaa目录下的html文件影射到 %工程名称%/ html代码中,引用自己同目录下(aaa目录)的js文件,也就影射到了 %工程名称% 下去找js这样的结果,就是导致代码放置的混乱,文件引用的混乱.同时,在脱机状态下调试html文件,
    就要修改引用js文件的路径.这个是个bug吗?
    还是有什么别的办法能够解决的?请高手再指点一下
      

  6.   

    3楼,按照你的方法设置了之后,显示There is no Action mapped for namespace / and action name login.这是怎么回事啊?
      

  7.   

    终于自己搞明白了,
    光是设置package的namespace还不行
    <package name ="strutsqs" extends="struts-default" namespace="/aaa">
    还要在html文件的action设置namespace
    <form action="map/login1.action" method="post">