Struts2——通配符,Action Method_DMI
Action wildcard 通配符(配置量降到最低)
使用通配符,就是为了配置简便,但是一定遵守“约定优于配置”原则,约定就是做项目之前最好事先与项目组的人或是自己规定好命名规则。
多个* {1}代表:众多*中的第一个* 但是一定要注意的是命名规范与路径问题: 例如:
<package name = "actions" extends = "struts-default" namespace="/actions">
<!-- 定义action -->
<action name="*_*" class="ab.{1}Action" method="{2}">
<result name="success">/{1}_{2}_success.jsp</result>
</action>
</package>
其中*_*可以代表(Student_add)或者其他只要符合以上规则都行
StudentAction.java文件中命名统一(TeacherAction中同理)
package ab;
import com.opensymphony.xwork2.ActionSupport;
public class StudentAction extends ActionSupport{
public String add(){
return "success";
}
public String delect(){
return SUCCESS;
}
}
Index.jsp中:(a标签中不是/开头,不然就会找不到映射的位置)
<a href="actions/Student_add.action">添加学生</a>
<a href="actions/Student_delect.action">删除学生</a>
<br>
<a href="actions/Teacher_add.action">添加老师</a>
<a href="actions/Teacher_delect.action">删除老师</a>
要注意的是:如果有类似的action,它先匹配最精确的信息,如果都有*,就谁放前面就先执行那个。
Action Method_DMI
Action执行的时候并一定要执行execute方法,例如
public String add(){
return "success";
}
1.可以在配置文件中配置Action的时候用method=来指定哪个方法,但是不常用因为会产生太多的action;在action 后加上method=“”
2.主要推荐使用:动态方法调用DMI(url地址中动态指定)
Struts2——通配符,Action Method_DMI的更多相关文章
- struts2的action方法匹配以及通配符的使用
1. ActionMethod:Action执行的时候并不一定要执行execute方法,可以在配置文件中配置action的时候用"method"属性来指定执行哪个方法,也可以在ur ...
- struts2开发action 的三种方法以及通配符、路径匹配原则、常量
struts2开发action 的三种方法 1.继承ActionSupport public class UserAction extends ActionSupport { // Action中业务 ...
- Struts2 语法--action
xml的注释: <!--叨叨叨叨--> web.xml注释格式": <?xml version="1.0" encoding="UTF-8&q ...
- Struts2之Action与配置文件
一.Struts2配置文件 1.struts.properties 在学习Action之前先学下Struts2的配置文件,与Struts2相关的配置文件有好几个,常用的有Struts.xml,web. ...
- struts2 之 Action的优化配置
总结:struts2种action的配置文件会随着业务的增加而增加,导致配置文件膨胀.struts2中提供了三种方案来解决这个问题: 1. 动态方法调用来实现. 2. 通配符配置来解决. 3. 使用注 ...
- 关于Struts2中 Action 配置method的解读
为Action配置method属性: 将Action类中的每一个处理方法都定义成一个逻辑Action方法. <!DOCTYPE struts PUBLIC "-//Apache Sof ...
- 关于Struts2通配符无效的说明
在struts2.3之前的版本,正常的配置就可以了,但在struts2.3版本之后,使用通配符调用方法时,内部会验证是否允许访问该方法. 1.struts2.5 为了增加安全性,在 struts.xm ...
- SSH框架-Struts2基础-Action
Struts2的目录结构: 解压apps目录下的struts2-blank.war: 仿照这个最基本的项目,拷贝相关文件: 1.拷贝apps/struts2-blank/WEB-INF/classes ...
- (四)Struts2的Action(深入讲解版)
Struts2的Action 开发者需要提供大量的Action,并在struts.xml中配置Action.Action类里包含了对用户请求的处理逻辑,因为我们也称Action为业务控制器. 一.编写 ...
随机推荐
- PHP防盗链的基本思想&&防盗链的设置方法
PHP防盗链的基本思想&&防盗链的设置方法 网站盗链会大量消耗被盗链网站的带宽,而真正的点击率也许会很小,严重损害了被盗链网站的利益.本文主要介绍用PHP实现防盗链的方法以及基本思想, ...
- Vultr服务器端口
腾讯云服务器迁移到Vultr https://www.fengxianqi.com/index.php/archives/105/ 防火墙策略组开启22和80端口 IPV6的模块可以先不管,然后在Li ...
- sqlachemy 获取新创建对象的id,flush与commit
for account_info in valid_account_detail: try: account = account_info.get('account') password = acco ...
- leetcode 344. Reverse String 、541. Reverse String II 、796. Rotate String
344. Reverse String 最基础的旋转字符串 class Solution { public: void reverseString(vector<char>& s) ...
- 【转】Java日志框架:logback详解
为什么使用logback 记得前几年工作的时候,公司使用的日志框架还是log4j,大约从16年中到现在,不管是我参与的别人已经搭建好的项目还是我自己主导的项目,日志框架基本都换成了logback,总结 ...
- 在.NET Framework中慎用DirectoryInfo.GetFiles方法
.NET Framework中的DirectoryInfo.GetFiles方法,可以在一个文件夹下通过通配符找出符合条件的文件. 我们首先在文件夹C:\DemoFolder下定义两个文件:demo. ...
- CF429E Points and Segments 构造、欧拉回路
传送门 如果把一条线段\([l,r]\)看成一条无向边\((l,r+1)\),从\(l\)走到\(r+1\)表示线段\([l,r]\)染成红色,从\(r+1\)走到\(l\)表示线段\([l,r]\) ...
- c# 打印 主板信息CPU信息
Win32_Processor CPU 参数说明: AddressWidth --在32位操作系统,该值是32,在64位操作系统是64.Architecture --所使用的平台的处理器架构.Asse ...
- 无预挖无ICO-潜力币XDAG最强攻略
更新下XDAG上交易所了,当时看好这个币才推荐的,那时场外才2毛不到,现在涨到9毛一个了... https://www.coinbat.com/trade/panel/xdag... VBitEX [ ...
- 【原创】三招搞死你的IE11,可重现代码下载(IE Crash keyframes iframe)!
前言 很多人都知道我们在做FineUI控件库,而且我们也做了超过 9 年的时间,在和浏览器无数次的交往中,也发现了多个浏览器自身的BUG,并公开出来方便大家查阅: 分享IE7一个神奇的BUG(不是封闭 ...