升级Struts2.5后使用DMI动态方法调用遇到问题

2023-11-19

转自:http://www.lvhongqiang.com/blog429.html

问题:

升级Struts2.5后使用DMI动态方法调用报错,method 找不到。

源码:

struts.xml
        <action name="json_*_*" class="{1}Action" method="{2}">
            <result name="success" type="json"></result>
            <result name="error" type="json"></result>
            <result name="input" type="json"></result>
        </action>

分析:

目前情况:
json_record_list.action访问不会报错。
json_record_query.action访问报错。
调用Action中list方法时并没有报错,随后调用query方法时报错,问题锁定方法名。改为随意字符串abcdeq之类方法名都会报错,就是说只有特定方法名才可以。所以怀疑struts某处有关于方法名的默认设置。百度后得知Struts2.5新增了allowed-methods配置,只有被允许的方法名才可以动态调用。

解决办法:

在配置文件struts.xml中添加:<global-allowed-methods>regex:.*</global-allowed-methods>

<package name="exam" extends="json-default">

    <global-allowed-methods>regex:.*</global-allowed-methods>

    <action name="user" class="userAction">
            ...
    </action>
</package>

或者在某一action内添加<allowed-methods>regex:.*</allowed-methods>

注解方式:

在 action 上使用 @AllowedMethods 注解

默认的设置:
<global-allowed-methods>execute,input,back,cancel,browse,save,delete,list,index</global-allowed-methods>
附:全局设置是增量而不是覆盖的,支持正则和直接匹配方法
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

升级Struts2.5后使用DMI动态方法调用遇到问题 的相关文章

  • 我的毕业论文

    摘要 信息时代的到来 给电子商务带来了无限活力 电子商务网站已经显示出欣欣向荣的繁荣景象 基于这一历史背景 本论文介绍了基于J2EE标准规范 并采用其推荐的实现技术JSP java server pages Servlet等对一个典型电子商
  • 基于Java的停车场管理系统的设计与实现

    技术 Java JSP等 摘要 随着科技的迅速发展 各种管理系统已应用到社会的各个领域 各个大小企业 单位 都充分意识到传统的手工管理模式已经逐渐不能适应时代的发展 为了更好的发展 纷纷开发适合自己的管理系统 通过停车场管理系统这个平台 可
  • java常见错误以及可能原因集锦

    0 需要标识符 a 不在函数内 1 非法表达式开始 b 可能 丢失括号 2 no data found a 可能 setInt 1 100 中 没有100这个值 3 找不到符号 a 可能 没导入包 4 指定了无效URL a 可能 数据库名或
  • Nginx常用命令以及升级(window)

    nginx Windows作为标准控制台应用程序 不是服务 运行 可以使用以下命令对其进行管理 start nginx 启动Nginx nginx s stop fast shutdown 快速停止 nginx s quit gracefu
  • Struts2 commons-fileupload 在上传2M以上文件出现异常解决方法

    在上传2M以上文件出现异常如下 APPNAME ERROR http 80 3 MultiPartRequest parse 130 org apache commons fileupload FileUploadBase SizeLimi
  • Struts2 校验(XML配置校验)

    参考文档 http struts apache org 2 0 9 docs ajax client side validation html http struts apache org 2 0 9 docs pure javascrip
  • (一)、Sun FtpClient

    项目实践中遇到Ftp传输问题 在这里做个专辑 第一篇还是介绍一下sun提供的FtpClient 这个也是网上说的最多的 在这里我只是给出例程 不再做详细的解释 sun提供的FtpClient简单宜用 不支持任何加密方式 并没有提供相应的ap
  • 如何禁用 Struts 标签的自动完成(HTML:text)

    对于普通的 HTML 输入标签 禁用自动完成很简单 如下所示
  • 如何通过struts从一个jsp打开另一个jsp

    如何打开一个jsp来自另一个jsp通过Struts 例如 我有 2 个 JSP Page1 jsp 和 Page2 jsp 页面1 jsp不含任何表格 页面2 jsp包含一个表格 我需要一个链接页面1 jsp which 当点击时带我去页面
  • 在 Struts 2 中动态生成名称和值属性

    我正在将代码从 Struts1 迁移到 Struts2 Struts1代码
  • 从 Struts2 表单提交填充集合

    我正在尝试从表单填充 bean 列表 public class Foo public String attr1 public String attr2 public class Bar public List
  • Struts2 ActionContext 和 ValueStack?

    我的问题是 在Struts2中 是不是每个action对象都有自己对应的ActionContext和ValueStack呢 换句话说 对于每个新请求 都会创建一个新的操作对象 这是否意味着每次创建新的操作对象时 也会创建新的 ActionC
  • Struts 2 选择带有数组列表值的标签

    我正在开发一个简单的 struts 应用程序 在我的 JSP 中 我有一个下拉列表框 使用s select标签 我需要用操作类中的数组列表值填充这些值 我怎样才能做到这一点 需要进行哪些改变structs xml文件来完成这个 JSP
  • 安全地向 RESTFUL API 提供凭据

    我创建了一个 RESTful 服务器应用程序 它可以在有用的 URL 例如 www site com get someinfo 上处理请求并提供服务 它是在春天建造的 但是 这些访问受密码保护 我现在正在构建一个客户端应用程序 它将连接到这
  • 使用 Multipart/Form-Data Enctype 进行表单验证失败后,Struts 1 丢失请求参数

    我有一个简单的 Struts 表单 它有几个文本字段和一个文件字段 这enctype is multipart form data在我的表格上 我在中验证actionform的 验证方法 如果文本字段为空 我会返回错误 是必要的 除了可见字
  • 动态文件下载,无需在服务器中保存文件

    我正在使用 Apache POI 库对多个 excel 文件执行一些操作 我正在尝试下载 Excel 报告而不将其存储在服务器中的某个位置 我正在使用 Struts 2 它需要将文件输入到InputStream而 POI 工作簿需要Outp
  • 简单的JSp和servlet代码可以迁移到Spring框架吗?

    我是网络开发的新手 我正在使用 servlet 和 JSP 进行 Web 开发 但是 我最近了解到 Spring 框架适合包含 servlet jsp 等的开发 所以 我的问题是我现在可以使用 Spring 框架运行我的程序吗 比如 我有
  • 已做出回应

    我有一个取消按钮 用于刷新值 现在我已将它们转换为刷新或重新加载页面并移至只读页面 因此更改了取消按钮来调用这样的函数 function chkArea var url
  • Struts ActionForm 属性应该是什么类型?

    我使用 Struts 1 2 4 继承了这个巨大的遗留 Java Web 应用程序 我有一个关于 ActionForms 的具体问题 其中一些仅具有字符串属性 即使对于数字 其中一些使用看似合适的类型 整数 日期 字符串等 这里的最佳实践是
  • struts.xml 和 struts-config.xml

    struts xml 和 struts config xml 有什么区别 两者是相同的还是有什么区别 Struts框架的核心配置文件默认是struts xml对于 Struts 2 和struts config xml对于Struts 1

随机推荐

  • Oracle函数集锦

    一 case when then 用法 case具有两种格式 简单case函数和case搜索函数 简单case函数 case sex when 1 then 男 when 2 then 女 else 其他 end case搜索函数 case
  • OpenGL GLFW入门篇 - 画矩形2

    上一篇介绍了如何渲染矩形 这一篇介绍如何将叠加的部分透明显示 效果图 主体代码 void DrawRectangle void GLfloat xl yt xr yb w h glPushMatrix glLoadIdentity glTr
  • [vue3]用element封装一个抽屉组件

    需求 因为抽屉组件在后台管理系统是非常常见的 那么封装起来怎么样 可以传入标题 size 提交按钮的文字 传入部分即便超出范围也不会挤掉下面的按钮 会出现滚动条 如图
  • 文件目录和目录文件的作用区别和联系 & C语言文件相关操作 FILE用法

    一 文件目录和目录文件的作用区别和联系 1 他们各自的概念和联系 文件目录 把所有的FCB组织在一起 就构成了文件目录 即文件控制块的有序集合 FCB 为了能对一个文件进行正确的存取 操作系统必须为文件设置用于描述和控制文件的数据结构 称之
  • setlocale()/_wsetlocale()函数的使用

    在C运行库提供的多字节字符 宽字符转换函数 mbstowcs wcstombs 中 需要用到全局变量locale locale encoding 以指定多字节字符的编码类型 1 功能 用来定义全局变量 locale locale encod
  • linux进阶52——pthread_cond_t

    1 概念 条件变量是线程可用的另一种同步机制 条件变量给多个线程提供了一个会合的场所 条件变量与互斥量一起使用时 允许线程以无竞争的方式等待特定的条件发生 条件变量是线程中的东西 就是等待某一条件的发生 和信号一样 2 使用场景 条件变量要
  • Elasticsearch实战(二十二)---ES数据建模与Mysql对比 一对一模型

    Elasticsearch实战 ES数据建模与Mysql对比实现 一对一模型 文章目录 Elasticsearch实战 ES数据建模与Mysql对比实现 一对一模型 1 一对一 模型 1 1 Mysql建模 1 2 Index ES 模型
  • JetBrains IDE 全新UI申请体验

    JetBrains 宣布为其 IDE 系列产品更新默认 UI 申请 目前需要去官网申请才能获得试用 申请地址 https www jetbrains com lp intellij new ui preview 试用资格 在官网申请之后 就
  • 安装或者升级cmake版本

    1 cmake至少需要3 20 的版本 可以去官网 https cmake org files 下载 也可以通过wget下载并解压 如果下载很慢或打不开官网 可评论留邮箱发你 wget 下载 wget https cmake org fil
  • jq 用val()获取input的值无效

    用id获取input标签 取不到该input的value值 用改标签的name属性就可以 4个下面这种input 懒得复制了 就贴一个
  • 【JavaSE学习笔记】Java中的多态及其引出的Upcast和Downcast问题

    JavaSE学习笔记 JAVA中的多态及其引出的Upcast和Downcast 文章目录 JavaSE学习笔记 JAVA中的多态及其引出的Upcast和Downcast 前言 一 JAVA中的多态 二 Upcast Downcast 三 总
  • SEGGER_RTT_printf()函数实现打印浮点、负数-示例

    概述 最近公司项目换另一款gsensor 用到了浮点数打印 又不想使用串口来打印数据 在此做个笔录 通过修改源码方式实现 一 修改源码 1 在 SEGGER RTT printf c 中 的 int SEGGER RTT vprintf u
  • 类模板的成员函数及类的成员模板函数的特化C

    原文 https blog csdn net jfkidear article details 24656929 utm medium distribute pc relevant none task blog searchFromBaid
  • 作为技术岗位面试官的一些分享

    我在过去的四年里参与了很多公司技术岗位的面试 说实话要看出一个人的综合素质 我还真的做不到 至于其他面试官是否可以 我也不得而知 但我个人感悟是 在面试过程中 面试官更加多的是去匹配和比较 在招聘过程中 企业会根据人力需求先制定出一套招聘需
  • 软件测试中需要使用的工具

    作为一个测试人员在日常工作中会使用到很多的工具 今天给大家分享一下这些工具 对软件测试 接口 自动化 性能测试和日常文档编写办公有帮助的网站 接口测试大力推荐国产的接口测试工具 apipost apipost还是一款很不错的接口文档生产工具
  • 轻量化CICD平台建设

    一 需求 想组合一套cicd流程 但是又不想用gitlab jenkins那么重 首先说一下我的硬件条件 一台群晖920 两块4T的红盘 20G内存 一台华硕tuf的路由器 有联通给的动态外网ip 在路由器做了ddns 再说一下软件条件 d
  • SpringBoot启动时初始化资源的几种方法

    SpringBoot提供了多种方法可实现在启动过程中初始化资源 使用注解 PostConstruct 实现InitializingBean接口 实现CommandLineRunner接口 实现ApplicationRunner接口 监听Sp
  • STM32F103实验定时器

    目录 本文 在上一章的基础上 将介绍如下内容 定时器 上一篇 STM32F103实验外部中断和独立看门狗 https blog csdn net qq 40318498 article details 95980287 正文 STM32F1
  • 利用电影直播赚钱的方法(几乎零成本、很多人不知道)

    每天都有人为了找好项目发愁 什么是大家理解的好项目 上来什么都不做就赚钱吗 边玩边赚钱吗 互联网确实有太多赚钱的项目 但是都是需要前期的积累和沉淀 你熬过去了吗 很多人看着别人后面躺赚的潇洒 觉得好后悔 可以当初自己做了吗 别人付出的时候自
  • 升级Struts2.5后使用DMI动态方法调用遇到问题

    转自 http www lvhongqiang com blog429 html 问题 升级Struts2 5后使用DMI动态方法调用报错 method 找不到 源码 struts xml