Struts2_学习笔记(二)--------Namespace、Action、Path、ActionMethod_DMI、ActionWildcard
来源:互联网 发布:淘宝开店及投资 编辑:程序博客网 时间:2024/05/01 00:58
一、Namespace(参考Struts2_0200_Namespace)
namespace决定了action的访问路径,默认为"",可以接收所有路径的action
namespace可以写为/,或者/xxx,或者/xxx/yyy,对应的action访问路径为/index.action, /xxx/index.action,或者/xxx/yyy/index.action.
namespace最好也用模块来进行命名
二、Action(参考Struts2_0300_Action)
具体视图的返回可以由用户自己定义的Action来决定
具体的手段是根据返回的字符串找到对应的配置项,来决定视图的内容
具体Action的实现可以是一个普通的java类,里面有public String execute()方法即可
或者实现Action接口
不过最常用的是从ActionSupport继承,好处在于可以直接使用Struts2封装好的方法
三、Path(参考Struts2_0400_Path)
struts2中的路径问题是根据action的路径而不是jsp路径来确定,所以尽量不要使用相对路径。虽然可以用redirect方式解决,但redirect方式并非必要。
解决办法非常简单,统一使用绝对路径。(在jsp中用request.getContextRoot方式来拿到webapp的路径)
或者使用myeclipse经常用的,指定basePath
即:String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"
并在<head>中加<basehref="<%=basePath%>"/>
四、ActionMethod_DMI(参考Struts2_0600_ActionMethod)
<action name="userAdd"class="com.bjsxt.struts2.user.action.UserAction"method="add"> <result>/user_add_success.jsp</result> </action> <action name="user" class="com.bjsxt.struts2.user.action.UserAction"> <result>/user_add_success.jsp</result> </action></package>
使用第二种的方法进行动态调用 即:
<a href="<%=context%>/user/user!add">
五、ActionWildcard通配符(参考Struts2_0600_ActionWildcard)
{1}代表第一个’*’,使用通配符可以使配置量降到最低,如果约定的好,配置将会特别简单。
<package name="actions"extends="struts-default" namespace="/actions"> <action name="Student*" class="com.bjsxt.struts2.action.StudentAction"method="{1}"> <result>/Student{1}_success.jsp</result> </action> <action name="*_*" class="com.bjsxt.struts2.action.{1}Action"method="{2}"> <result>/{1}_{2}_success.jsp</result> <!-- {0}_success.jsp --> </action> </package>
如果一个请求能匹配多个action,优先进行精确匹配。如果对于多个有通配符的action,优先匹配最上面的action。
六、注意事项
复制项目时,要修改propertiesàMyEclipseàwebàWeb Context-root
- Struts2_学习笔记(二)--------Namespace、Action、Path、ActionMethod_DMI、ActionWildcard
- Struts2_学习笔记(二)--------Namespace、Action、Path、ActionMethod_DMI、ActionWildcard
- Struts2_学习笔记(五)----访问Web元素、include、默认Action、Action总结
- Struts2_学习笔记(五)----访问Web元素、include、默认Action、Action总结
- Struts2_学习笔记(九)----bbs2009、声明式的异常处理、default-action-ref(BUG)
- Struts2_学习笔记(三)--------Action接收参数的四种方法
- Struts2_学习笔记(三)--------Action接收参数的四种方法
- [Struts2 框架学习] 二、Namespace 和 Action
- Struts2学习笔记——ActionWildcard(通配符)
- Struts2_学习笔记(七)----OGNL
- Struts2_学习笔记(八)----Struts-tags
- Struts2_学习笔记(十)----I18N
- Struts2_学习笔记(十二)----Struts2总结
- AJAX IN ACTION 学习笔记(二)
- Liferay in action 学习笔记(二)
- Struts2 学习笔记 —— 06 —— ActionWildCard 通配符
- Struts2_学习笔记(一)--------学习工具下载、HelloWorld、运行机制
- Struts2_学习笔记(一)--------学习工具下载、HelloWorld、运行机制
- 初识vb数据库开发之实例2(创建记录浏览窗口)
- 【C和指针】const指针
- Struts2_学习笔记(一)--------学习工具下载、HelloWorld、运行机制
- JavaScript语法入门系列(四) 运算符
- 常用控件 05 单选按钮 Radio Buttons
- Struts2_学习笔记(二)--------Namespace、Action、Path、ActionMethod_DMI、ActionWildcard
- Android入门:广播接收者应用(电话拦截器)
- 浅谈SQL SEVER中约束和规则的异同
- 第三宗罪的C++
- Box2D v2.1.0用户手册翻译 - 第09章 接触(Contacts)
- 【100题】约瑟夫环问题。。
- Runable Jar File执行时引用外部包问题
- pmp网站
- i/o多路复用