在Struts2的action配置中,可以使用method属性来实现方法的动态调用,除此之外还有一种方式可以实现方法的动态调用,那就是在url中 的action后跟!再跟指定的方法名,比如localhost:80/test!hello,那么就会访问名称为test的action的hello方 法。

但是,有的时候,不知道为什么,使用!访问的时候,会报异常,找不到名字为*!*的action。这是因为你在stuts的配置文件中将Struts2的!调用功能关闭导致的,解决方案如下:

在struts.xml文件中添加常量,

<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>

如图:

通过添加常量,打开了Struts2的动态方法调用开关。问题解决。

为什么Struts2中会引入这个功能的开关呢,原因如下:

1 )如果使用的是 POJO action ,!动态方法调用可能会引起安全问题;

2 )动态方法调用和从 Struts 1 中引用过来的通配符方法有重叠;

Struts2使用!动态方法调用无效相关推荐

  1. struts2的动态方法调用(DMI)和通配符映射

    动态方法调用 1.Struts2默认关闭DMI功能,需要使用需要手动打开,配置常量 [html] view plaincopy struts.enable.DynamicMethodInvocatio ...

  2. Struts2动态方法调用

    2019独角兽企业重金招聘Python工程师标准>>> 动态方法调用 在Struts2中动态方法调用有三种方式,动态方法调用就是为了解决一个Action对应多个请求的处理,以免Act ...

  3. struts2学习 - action -3 动态方法调用 DMI

    Action执行的时候并不一定要执行execute方法 可以在配置文件中配置Action的时候用method=来指定执行哪个方法 也可以在url地址中动态指定(动态方法调用DMI)(推荐)   配置文 ...

  4. struts2静态方法和动态方法调用

    1 jsp页面 <%@ page language="java" import="java.util.*" pageEncoding="UTF- ...

  5. Struts2学习---基本配置,action,动态方法调用,action接收参数

    首先我们先来直接配置,然后再来讲原理:  第一步:jar包的引入:  我们可以到struts2的官网上下载:  http://struts.apache.org/download.cgi#struts ...

  6. struts2的通配符和动态方法调用

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC     &quo ...

  7. Struts2笔记——通配符和动态方法调用

     通配符映射 * 一个 Web应用可能有成百上千个 action 声明. 可以利用 struts提供的通配符映射机制把多个彼此相似的映射关系简化为一个映射关系 * 通配符映射规则     > 若 ...

  8. Struts2 动态方法调用(十三)

    附件中有完整的案例! 1.动态方法调用 在业务逻辑处理action中,可以包含一个或者多个逻辑处理方法. 例如:在jsp文件中的同一个form表单中 有多个用来提交的表单值的按钮,可当用户通过不通的按 ...

  9. Struts2学习第二天——动态方法调用

    result的type属性 指定result的类型,不同类型的result代表不同的结果输出 默认取值dispatcher,请求转发(forward)到本程序里指定的资源 可以在Struts-defa ...

最新文章

  1. js ZeroClipboard 拷贝文本到剪贴板
  2. vue子组件调用父组件内的方法
  3. 【git】之使用shell脚本提交代码
  4. angular 在IIS部署运行
  5. linux的oracle修改实例名SID
  6. mysql myisam简单分表设计
  7. Meanshift 均值飘移实现图像聚类 MATLAB实现(4)
  8. [BZOJ1030][JSOI2007]文本生成器
  9. asp.net 下载大文件
  10. 灵活多变的keytool和openssl生成证书,应用tomcat和nginx
  11. 用四位led数码管作显示器的篮球比赛24秒计时器求c语言代码,篮球比赛计时器的设计与实现...
  12. 计算机休眠下睡眠的不同点是什么,电脑休眠和睡眠的区别
  13. win10系统开机启动连不上网
  14. 2个鸡蛋100层楼--动态规划
  15. C++标准库中的数学函数
  16. 【点云处理】PointNet网络
  17. 无盘服务器 双路E5,原装Intel/英特尔 S2600CO4双路E5主板 C602 | 专业网吧维护
  18. 西门子S7-1200PLC和KTP700触摸屏控制松下伺服电机运动控制程序
  19. 车站基础知识(部分)
  20. 歌谣学前端之React中渲染列表

热门文章

  1. ASP.NET配置错误页面浅析
  2. moviepy报错之 .This error can be due to the fact that ImageMagick is not installed on your computer(亲测)
  3. HTML表单fieldset
  4. JQUERY设置或返回属性值attr
  5. php xml expat,PHP 使用 XML Expat 解释xml文件
  6. java获取list redis_【快学springboot】14.操作redis之list
  7. suse linux10 关闭防火墙,Suse10 关闭防火墙
  8. conda deactivate python3_python3的配置解决
  9. mysql sort aborted_mysql排序中断(Sort aborted)-mysql临时文件无法写入
  10. mysql错误:file xxx conflicts with file from package mysql-libs-5.5.68-1.el7.x86_64