Struts2慢慢学之四----通配符
来源:互联网 发布:大推力火箭 知乎 编辑:程序博客网 时间:2024/06/10 15:28
通配符是在struts2配置中非常常用的一种配置方式,在程序开发过程中要遵循“约定优于配置”的原则,在这种原则下,约定的结果如果比较合适的话,就会大大减少配置的数量,使得配置变得非常简单,方便。
下面以例子来做下说明:
1、由如此的一个struts.xml配置文件:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"><struts> <constant name="struts.devMode" value="true" /> <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></struts>
第一个action使用了一种单个“ * ”的配置方式,它的method="{1}",这个{1}代表的是前面的name属性中的第一个*,对比第二个action,{2}代表的是前面name属性中的第2个*;类似的在第一个action中的result中的{1}也是代表name属性中的第一个*,同样类比第二个result。
2、假如有一个index.jsp文件
<?xml version="1.0" encoding="GB18030" ?><%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><% String context = request.getContextPath(); %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030" /><title>Insert title here</title></head><body>使用通配符,将配置量降到最低<br /><a href="<%=context %>/actions/Studentadd">添加学生</a><a href="<%=context %>/actions/Studentdelete">删除学生</a><br />不过,一定要遵守"约定优于配置"的原则<br /><a href="<%=context %>/actions/Teacher_add">添加老师</a><a href="<%=context %>/actions/Teacher_delete">删除老师</a><a href="<%=context %>/actions/Course_add">添加课程</a><a href="<%=context %>/actions/Course_delete">删除课程</a></body></html>
那么根据通配符的原理,对于第一个<a></a>,它的指向是StudentAction类中的add方法,则会调用Studentadd_success.jsp文件。同理对于第三个<a></a>则会指向TeacherAction的add方法,调用Teacher_add_success.jsp文件。
通配符的使用使得struts2的配置变得非常简单,它也有自己的原则,即:准确性匹配,越准确则更容易匹配到,例如当由两个action的name都可以匹配到时,它会自动选择更精确的匹配(此时的更精确值得是不含有通配符的情况),在都含有通配符的情况下,好像是哪个在前面哪个更先匹配!
- Struts2慢慢学之四----通配符
- Struts2慢慢学之二-----路径问题解决
- Struts2慢慢学之三------DMI
- Struts2慢慢学之五----参数传递
- Struts2慢慢学之八----Result
- Struts2慢慢学之一
- Struts2慢慢学之六----简单的数据校验
- Struts2慢慢学之七----访问Web元素
- Struts2慢慢学之九----Result其他内容
- struts2系列四使用通配符
- 力所能及之struts2通配符
- Struts2慢慢学之五(接上)----参数传递方法三
- 慢慢学,慢慢炼
- (四)Struts2中通配符讲解
- 慢慢学
- 慢慢学
- Struts2基础之四:动态方法调用(DMI)和action通配符
- Linux shell 基础(四),自己慢慢一步步学
- dom对象与jquery对象转换
- opengl 例子学习笔记
- .Net中Format输出大括号
- 小组级git服务器搭建
- 读《java编程思想》 数组
- Struts2慢慢学之四----通配符
- 2440bsp wince启动分析
- arm assemble register
- 字符串全排列算法
- hp服务器+centos6.2+perl+lnmp
- Android TextView大全
- 插入排序(insertion sort)
- 全选/取消 gridview中checkbox的功能实现
- 动态链接库的数据及动态链接库重定向