struts2 package name作用
2015-08-27 11:31
585 查看
From BaiduZhidao
Q:
A:
one more answer
from BLOG163
1.package中的name只是一个标识,你可以随意命名;
2.action中的name对应你页面中的一个action跳转,比如你页面有个表单提交: <form action="struts.xml中action里的name">
3.namespace是用于区分包中相同的类,如果没写,说明该包为默认空间,如果写了(如你的这个例子),那么就说明包caixuedong的空间为/core。
namespace实际上是在包的基础上对Action的进一步组织和划分,可以解决Action重名问题,因为在不同的命名空间中是可以有相同的Action名的,就好比一班有个叫张三的,二班也有个叫张三的,当我们呼叫某个张三时,就得带上“命名空间”,Action也是如此,例子的greeting就必须通过 /core/greeting.action的方式来进行调用。
greeting那个name就是Action的名字,相当于上个例子的“张三”
包的名字只是作为其他包引用本包的标记
Q:
<package>是用来解决重名的问题,例如当系统的前台和后台都有一个action名叫test,这时就需要用package来区分。前台<package name="front">后台<package name="backed"> 但是怎样访问呢?如果,两个package的namespace都是/,访问test.action只能访问到第二个package中的action,第一个访问不到。怎么办??? 如果两个package设置不同的namespace的话,那么package的name属性不是白设置了吗,没意义了啊,倒不如是相同的呢!求讲解!!!!
A:
首先更正一点,struts配置文件中的package name属性不是解决重名问题的,而是用来实现继承的,namespace才是用来解决重名的,前台和后台可以这样分<package name="front" namespace="/front" extends="default"> <package name="back" namespace="/back" extends="default">,这样在两个包里都有test Action时在url地址中用/front/test或/back/test就能区分开了,别外继承时用extends="front"就是继承自第一个package(默认继承是default);若是第一个package里面配的有公共的结果集或拦截器,继承者也可以用(当然也可以用action,注意:子包里的action不能与父包中的重名);
one more answer
from BLOG163
1.package中的name只是一个标识,你可以随意命名;
2.action中的name对应你页面中的一个action跳转,比如你页面有个表单提交: <form action="struts.xml中action里的name">
3.namespace是用于区分包中相同的类,如果没写,说明该包为默认空间,如果写了(如你的这个例子),那么就说明包caixuedong的空间为/core。
namespace实际上是在包的基础上对Action的进一步组织和划分,可以解决Action重名问题,因为在不同的命名空间中是可以有相同的Action名的,就好比一班有个叫张三的,二班也有个叫张三的,当我们呼叫某个张三时,就得带上“命名空间”,Action也是如此,例子的greeting就必须通过 /core/greeting.action的方式来进行调用。
greeting那个name就是Action的名字,相当于上个例子的“张三”
包的名字只是作为其他包引用本包的标记
相关文章推荐
- Using Custom Java code in ODI
- demo1 JAVA笔记
- 重温java基础
- Spring InitializingBean的作用
- 重温java基础
- Java多线程之Lock的使用<转>
- SpringMVC定时任务 执行两次
- java中import机制(指定import和import *的区别)
- Java代码规范
- eclipse svn提交更新快捷键设置
- 如何在eclipse中使用scrapy?
- JavaWeb中读取文件资源的路径问题
- java自带线程池和队列详细讲解<转>
- spring mvc task:scheduled cron配置
- eclipse生成可执行jar包
- Webstorm Eclipse快捷键
- eclipse调试java程序的九个技巧
- Java串行化深度复制与性能调优
- Java 单例模式
- Eclipse:The project cannot be built until build path errors are resolved