Struts2学习笔记(4)-通配符的使用

 更新时间:2016年06月12日 11:40:01   作者:meaijojo  
本文主要介绍Struts2中通配符的使用,简单实用,希望能给大家做一个参考。

通配符是在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的通配符的使用的全部内容,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 通过java备份恢复mysql数据库的实现代码

    通过java备份恢复mysql数据库的实现代码

    这篇文章主要介绍了如何通过java备份恢复mysql数据库,其实一般情况下通过bat或sh就可以,这里主要是介绍了java的实现思路,喜欢的朋友可以参考下
    2013-09-09
  • Java获取Excel中图片所在的行和列坐标位置

    Java获取Excel中图片所在的行和列坐标位置

    这篇文章主要介绍了Java获取Excel中图片所在的行和列坐标位置,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-08-08
  • 线程池调用kafka发送消息产生的内存泄漏问题排查解决

    线程池调用kafka发送消息产生的内存泄漏问题排查解决

    这篇文章主要为大家介绍了线程池调用kafka发送消息产生的内存泄漏问题排查解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • java获取Date类型的年份实例代码

    java获取Date类型的年份实例代码

    这篇文章主要给大家介绍了关于java如何获取Date类型的年份,针对java获取Date时间的各种方式汇总,有常用的时间获取方式,还有一些其他特殊时间获取方式,需要的朋友可以参考下
    2024-06-06
  • 5分钟快速上手Spring Boot

    5分钟快速上手Spring Boot

    这篇文章主要介绍了5分钟快速上手Spring Boot,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • springboot使用@value读取配置的方法

    springboot使用@value读取配置的方法

    今天我们来讲一下如何通过python来实现自动登陆京东,以及签到领取金币。本文图文实例相结合给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-10-10
  • 利用springmvc处理模型数据

    利用springmvc处理模型数据

    这篇文章主要介绍了如何利用springmvc 处理模型数据,帮助大家更好的理解和学习使用springmvc,感兴趣的朋友可以了解下
    2021-03-03
  • 如何通过java实现highcharts导出图片至excel

    如何通过java实现highcharts导出图片至excel

    这篇文章主要介绍了如何通过java实现highcharts导出图片至excel。文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面我们就来一起学习一下吧
    2019-06-06
  • 简单了解java自定义和自然排序

    简单了解java自定义和自然排序

    这篇文章主要介绍了简单了解java自定义和自然排序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • java http token请求代码实例

    java http token请求代码实例

    这篇文章主要介绍了java http token请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03

最新评论