1.在package中属性namespace在设置的时候,可以把命名空间加上(例如我设置namespace属性值为java:<package name="helloWord" extends="struts-default" namespace="/java">)
下面是不成功的浏览器情况地址输入:
则在浏览器地址栏上请求的时候是这样的:http:xxx/项目名/java/servletpath(servletpath是servlet的路径),默认的不写namespace表示不加命名空间(默认的是“/”)
下面是成功加入的情况/java,这样才能访问正常:
大概了解上面的package暂时到这里,后面补充。
2.首先看下图:
在action中,有name,class,method三个属性,这里首先注意name的值与其对应的是一个jsp的请求,如下图:
class与method都是后来加上去的,不加也可运行,这个calss=“com.opensymphony.xwork2.ActionSupport”存在的地方是:struts-default.xml中的最后:default-class-ref默认的类指向,有一类:ActionSupport,这个类中有一个方法:execute(),返回值是:SUCCESS
所以了解action中不写class和method的情况。
3.再看下result结果。
result中属性name默认值是:success(如这样写的情况:<result>/WEB-INF/XXX/`````/XXX.jsp</result>)
这个结果的存在,与action中的method返回值对应起来,依照第二点的第一张图片看到<result>中没写任何内容,其实这里有一个默认值
<result name="success">,这个success字符串的来历就是action中class默认的ActionSupport类中的execute方法返回值。
看一下下图的描述: