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为业务控制器. 一.编写 ...
随机推荐
- Session的生命周期之关于浏览器关闭后的Session
Session是JSP的九大内置对象中的一个,它可以保存当前用户的各种的状态信息. 初次接触Session时认为Session的生命周期是从浏览器打开一个窗口发送请求开始,到浏览器窗口关闭结束.其实这 ...
- jsp页面无法使用EL
解决:http://blog.csdn.net/caixiexin/article/details/6958199 在web.xml中头部引入,2.3版本不支持EL,2.4默认开启,2.5默认关闭需要 ...
- KazaQ's Socks (找规律)
#include<iostream> using namespace std; #define ll long long ll n, m; ll t; int main(){ while ...
- 【转】android SDK中的ddms使用详解
一.查看线程信息1.展开左侧设备节点,选择进程: 2.点击更新线程信息图标: 注意:如果你没有运行或调试程序的话,这些图标是不可用的! 3.右侧选择“Threads”标签: 二.查看堆栈信息1.展开左 ...
- 爬取伯乐在线文章(五)itemloader
ItemLoader 在我们执行scrapy爬取字段中,会有大量的CSS或是Xpath代码,当要爬取的网站多了,要维护起来很麻烦,为解决这类问题,我们可以根据scrapy提供的loader机制. 导入 ...
- 002_关于six版本过低报cannot import name urllib_parse的问题
一. 参考:https://github.com/Parsely/pykafka/issues/222 [root@jyall.com tmp]#python check.py #报错如下 Trace ...
- jenkins使用1----初始化设置
####一.基本设置 1.首先找到系统管理 2.再找到全局配置一把黄色的锁头 3.新增JDK.Maven等 别名随便 下面的值添加jdk在jenkins这台机器上的位置,如果没找到可以点击自动安装,并 ...
- 二维数组遍历的方式(for普通循环遍历、foreach循环遍历、toString方式遍历)
package com.Summer_0421.cn; import java.lang.reflect.Array; import java.util.Arrays; /** * @author S ...
- 江苏省选2019Round1游记
JSOI2019R1过去了. Day0 打板子.看白书. 晚上太热了,楼下还在打铁,睡不着. 折腾到好晚才勉强睡着. Day1 早上好困啊. 开T1.看起来T1的60分很可做的样子?5min打完了(为 ...
- python内建的命名空间研究
python内建的命名空间研究 说明: python内置模块的命名空间.python在启动的时候会自动为我们载入很多内置的函数.类,比如 dict,list,type,print,这些都位于 __bu ...