Struts2学习笔记(一)——命名空间、路径、通配符
来源:互联网 发布:如何打造淘宝店铺爆款 编辑:程序博客网 时间:2024/06/11 23:47
一.命名空间
namespace决定了action的访问路径,默认为"",可以接收所有路径的action
namespace可以写为/,或者/xxx,或者为/xxx/yyy,对应的action访问路径为/index.action,/xxx/index,或者/xxx/yyy/index.action
namespace最好也用模块来进行命名
二.路径问题
Struts2中的路径问题是根据action的路径而不是jsp路径确定,因为action是经过转发请求给某个jsp页面,浏览器中显示的路径并没有发生变化,相对路径是相对于当前显示的页面,所以尽量使用绝对路径而不是相对路径。
获取绝对路径的方法如下:
<% String path = request.getContextPath();//取得根路径(即项目名) String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";//取得协议名、IP(或域名)、端口名
在head标签中加上:
<base href="<%=basePath %>"/>//加上此句之后就可以直接使用相对路径了,相对于应用程序的跟路径即可
如果没有加上这一句,可以在相对路径之前加上basePath即可
三.配置文件struts.xml中通配符的使用
看下面的action配置
<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>
比如我们在地址栏中输入....../Studentadd访问到的便是对应action中的add方法(method={1}),处理之后请求转发到Studentadd_success.jsp页面(/Student{1}_sucess.jsp)
我们注意到通配符可以有多个,我们可以用{}加上下标来访问,下标是从1开始的,在另外一个action中就是这样
显然我们不能输入随便一个字符串来访问某个页面,前提是这个页面是存在的,这就要求我们要实现已经写好了这些页面。我们要遵循“约定优于配置”的原则
三.如何在action中取得请求中的参数
我们先看一个action
public class UserAction extends ActionSupport { private String name; private int age; public String add() { System.out.println("name=" + name); System.out.println("age=" + age); return SUCCESS; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
0 0
- Struts2学习笔记(一)——命名空间、路径、通配符
- Struts2学习笔记(一)——命名空间、路径、通配符
- Struts2学习笔记—通配符
- struts2学习笔记命名空间
- Struts2学习笔记-命名空间
- Struts2学习笔记——ActionWildcard(通配符)
- Struts2学习笔记(十一)命名空间
- Struts2 命名空间笔记
- ThinkPHP学习笔记—命名空间
- Struts2 学习笔记 —— 06 —— ActionWildCard 通配符
- struts2 命名空间 namespace 学习
- 学习笔记----命名空间
- 命名空间学习笔记
- thinkphp学习笔记——命名空间多级命名空间及三种访问方式
- linux学习笔记—通配符
- 学习笔记——XML Schema简介及命名空间
- PHP入门学习笔记之—— PHP 命名空间
- [XML]学习笔记(四)——命名空间
- oracle中出现"数据被另一用户锁住"的解决方法
- Object-C 中的NSData / NSMutableData
- 如何远程桌面到CentOS6.6
- 警惕<textarea></textarea>中的空格
- HBase - 列族定义 | 那伊抹微笑
- Struts2学习笔记(一)——命名空间、路径、通配符
- 上下滚动的文字
- 黑马程序员——Java高新技术——多线程
- SDWebImage的一些方法
- 输入网址自动生成链接的代码
- MonoDevelop 常用设置和快捷键
- Git学习记录
- POJ 1321:棋盘问题
- Pan