Struts学习
<1> struts404映射错误,tomcat在eclipse中提示:严重: Could not find action or result
There is no Action mapped for namespace / and action name login. - [unknown location]
网上找了下原因,把struts配置文件中的红色部分改成绿色部分,问题解决。
<package name="helloworld" namespace="" (namespace="/HelloWorld") extends="struts-default">
<action name="Product_input">
<result name="success">/jsp/ProductForm.jsp</result>
</action>
<action name="Product_save" class="net.lampbrother.app.Product" method="save">
<result>/jsp/ProductDetails.jsp</result>
</action>
</package>
百度知道的解释:
把namespace=“/”去掉。
你没有理解到到namespace的用法
把你在struts.xml中的namespace="/"换成namespace="/tt"的话
那么在你的jsp页面上
<s:form action="/tt/login"> 或者写成
<s:form action="/tt/login" namespace="/tt">,相关链接:http://zhidao.baidu.com/question/128896449.html
<2>今天在用struts action获取jsp页面GET来的参数时,System.out.println(((String[])params.get("id")));打印出的结果始终是;id=[Ljava.lang.String;@7e68a3]
然后就百度,在http://blog.163.com/ppy2790@126/blog/static/1032422412012101213255272/找到了解决办法,自己也说不上原因,
System.out.println(((String[])params.get("id"))[0]);就可以打印出正确的结果了。
<3>struts.xml配置完毕后不一定即时生效,有时重启一下就好了。
2013年9月12日补充:最近在配置ssh时又莫名奇妙的抛出了上面的错误,下载的参考ssh框架中,struts.xml统一放置在了一个叫做resource文件夹中,我也这样做,结果自己搭建的ssh始终就跑不起来。然后把struts.xml放在了src目录中,一切就正常了。
对于我这个小白来说这是一个很神奇的问题。