Java学习笔记struts2篇--通配符
来源:互联网 发布:电信网络诈骗手段 编辑:程序博客网 时间:2024/06/06 17:10
引自:http://jingbo2759.blog.163.com/blog/static/9837531520099109488860/
struts2的配置文件是 struts.xml,在这个配置文件里面可以使用通配符,其中的好处就是,大大减少了配置文件的内容..当然,相应付出的代价是可读性..
使用通配符的原则是 约定高于配置.
在项目中,我们有很多的命名规则是约定的…我们使用通配符那就必须有一个统一的约定.否则通配符将无法成立
看下面的例子.
(1)先看我们的action配置
<package name="user" extends="struts-default" namespace="/"> <action name="user_*" class="com.test.action.UserAction" method="{1}"> <result>/user_{1}.jsp</result> </action> </package>
第一个带”*” 表示的是 后面匹配任意字符…这个很容易理解
{1}表示的是第一个”*”的内容…注意,这里的大括号,比如,如果是user_add .那么{1}就是表示 add ..
当然,这里只有一个”“.你可以有两个,甚至三个四个..比如这样写 *_ 这样就是两个”*” .那么我们也可以用{1},{2}来分别的表示他们.
(2) 对应的action 内容
package com.test.action;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings(“serial”)
public class UserAction extends ActionSupport
{
public String add()
{
return SUCCESS;
}
public String delete()
{
return SUCCESS;
}
public String update()
{
return SUCCESS;
}
public String select()
{
return SUCCESS;
}
}
因为是举例子,所以每个方法里面都没实现内容.
(3) 其他就是几个jsp页面..
其中 user_*.jsp页面没什么好说的,就是显示一句话.比如user_add.jsp就是显示 “这是添加页面” 其他的类似.就是为了让我们看到已经跳转到对应的页面.
index.jsp写一下
<%@ page language=”java” contentType=”text/html; charset=UTF-8”
pageEncoding=”UTF-8”%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+”://”+request.getServerName()+”:”+request.getServerPort()+path+”/”;
%>
”>
Insert title here
添加页面
删除页面
修改页面
查找页面
这里需要解释的就是两个
(1)标签的作用是,指定下面所有相对路径的基地址..看下面的图示
(2)下面的红字是几个链接.分别连接到四个action..这里是四个相对路径.基路径就是上面设置的basePath..
注意,jsp默认的路径是服务基路径..也就是 htttp://localhost:8080/ 也就是说,不包括项目名.
总结一下,
大家可以看到,配置文件里面,只有三句话就将增删改查四个操作全部配置好了….这就是通配符的作用.但是,我们也可以看到,对应的命名规则的约定也非常的苛刻…
最后需要注意的一点是匹配的优先权
(1)如果struts.xml里面有对应的action name .就算它有其他通配符匹配的,都优先对应完全相同的.
比如 有一个 action name 是 “user_add” 还有一个是 “user_*” .现在,来一个请求是 “user_add.action ” .那么,它会优先匹配”user_add ” ..其实,这个很好理解..
(2)如果一个action name对应于两个带通配符的action name 那么,需要看这个配置谁在前面.它匹配写在前面的
比如 有一个 action name 是 “_” 还有一个是 “user_*” .现在,来一个请求是 “user_add.action ” .那么,它会优先匹配写在前面的…
任何带的action name 优先权都是一样的…不是说带一个”“的优先权就比带两个”*” 的高.
- Java学习笔记struts2篇--通配符
- Struts2学习笔记—通配符
- Struts2 学习笔记06 通配符配置
- Struts2学习笔记——ActionWildcard(通配符)
- Struts2学习笔记(五):struts2通配符用法示例
- 【Struts2学习笔记】struts2.5使用通配符配置action跳转
- struts2学习:配置篇之通配符映射
- struts2学习:配置篇之通配符映射
- struts2学习:配置篇之通配符映射
- Struts2学习 通配符调用
- Struts2学习笔记(一)——命名空间、路径、通配符
- Struts2学习笔记(二) 使用通配符动态调用方法
- Struts2 学习笔记 —— 06 —— ActionWildCard 通配符
- Struts2学习笔记(一)——命名空间、路径、通配符
- 【Java学习笔记】38:三种泛型通配符
- struts2学习dem003_通配符映射
- Java.Web学习笔记 Struts2
- Struts2笔记14 action通配符配置
- Java的多态及注意事项
- C语言小知识复习1
- 论软件研发过程 目标+方法=结果
- android adb技巧总结
- 算法-分治策略
- Java学习笔记struts2篇--通配符
- 友盟5.0分享 总结
- 排序算法系列:快速排序算法
- google protobuf在ubuntu上安装使用步骤
- consul简介
- 使用wireshark对TLS加密的数据进行实时的解密
- 记录访客的(ip,浏览器,ip归属地,操作系统代码)并记录在文件中
- 4231421
- centos 开启httpd service 出现ServerName error