使用struts2出现的一个怪问题.请帮我看看 顺便说一下,如果我把js文件中的代码放到htm中,就正常执行了,显示图片还是无法正常.该怎么解决啊,搞 了一天了,还没搞出来,郁闷死了,高手帮我看看呀 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 action名字空间的问题注意你的action路径:http://yourproject/strutsqs/login.action 应该将你的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子目录下了。 准确的说就是你用action的时候路径变了,假如action url 为 localhost:8080/项目名称/test.action.你的html中js路径为js/test.js,那么它就会去找/项目名称/js/test.js。如果你将所有的路径都换成/项目名称/js/test.js.应该就没问题了 图片不出来当然是路径问题了!你仔细看下跳转action和打开的html的路径,再看下你图片的属性,图片路径 谢谢诸位的回答,但有个问题还是没有搞清楚, 在 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吗?还是有什么别的办法能够解决的?请高手再指点一下 3楼,按照你的方法设置了之后,显示There is no Action mapped for namespace / and action name login.这是怎么回事啊? 终于自己搞明白了,光是设置package的namespace还不行<package name ="strutsqs" extends="struts-default" namespace="/aaa">还要在html文件的action设置namespace<form action="map/login1.action" method="post"> vss中问题急急急急急急急急 myeclipse中配置Tomcat6.0的问题,请大虾们指点。 spring+struts+hibernate 中 出现不能连续添加多条记录 急:关于Eclipse3.3和JSF Eclipse 中开发 Apache Derby 应用程序 关于SAX的问题 请问哪里有java核心技术卷2的电子书籍下载阿? 找一能交留的j2ee友!!!! 请问JBOSS和IIS的整合环境怎么配? java框架ssh,ssm和项目使用的框架 如何在已有的框架中加入spring来进行事务管理? Apache James 使用时的几个问题
http://yourproject/strutsqs/login.action
<?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子目录下了。
你的html中js路径为js/test.js,那么它就会去找/项目名称/js/test.js。
如果你将所有的路径都换成/项目名称/js/test.js.应该就没问题了
<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吗?
还是有什么别的办法能够解决的?请高手再指点一下
光是设置package的namespace还不行
<package name ="strutsqs" extends="struts-default" namespace="/aaa">
还要在html文件的action设置namespace
<form action="map/login1.action" method="post">