问题标签 [struts2-convention-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 调用动作时Struts 2注释错误
大家好,我在使用 Struts 2 Annotated Actions 时遇到问题
在我的pom.xml
我有:
在我的web.xml
:
我有两个动作类:
如果我调用第一个http://localhost:8080/openMED/do/budget/start.action
一切正常,但是当我调用第二个时,http://localhost:8080/openMED/do/upload/init.action
我会收到此错误
怎么了?两个类的配置方式相同。
java - 如何在 Struts 2 中使用注解定义拦截器
我正在尝试使用struts2-convention-plugin
提供 Java 注释的 which 来定义 Struts2 组件。
Action
s 到目前为止这么好,但是我如何使用注释来定义拦截器?(我说的是@InterceptorRefs
或@InterceptorRef
)。
这甚至可能吗?目前我已经在struts.xml
文件中配置了带有注释和拦截器的操作。
是否可以完全消除struts.xml
文件并使用 100% 面向注释的配置?
struts2 - 如何在不使用 struts.xml 中的常量的情况下从 URL 中删除 .action
我正在使用 Struts 2 约定插件。我不想在我的应用程序中使用任何基于 XML 的配置。那么,在这种情况下,如何在不使用in 的情况下.action
从 URL 中删除扩展名?我目前仅使用文件来删除扩展名。是否有任何注释可以删除扩展名?<constant name="struts.action.extension" value="" />
struts.xml
struts.xml
.action
.action
struts2 - 应用程序无法识别 Struts2 中的 package.properties
我遇到了 Struts2 应用程序无法识别我的package.properties
. 我不知道为什么。global.properties
但它在指定struts.custom.i18n.resources=global
后识别struts.properties
。我正在使用 struts 约定来避免struts.xml
配置。我的应用程序包结构如下:
java - 如何在不使用任何动作类的情况下使用 Struts2 约定
在 Struts2 中,我们可以在不使用动作类的情况下定义动作struts.xml
,如下所示:
在我的应用程序中,我正在使用struts2 convention
. 在这种情况下如何避免编写动作类。我有很多场景,我只想去页面而不使用任何业务逻辑。
我的结果路径不仅仅是一个 JSP。我正在使用瓷砖。我使用的代码如下:
java - 启用约定插件会破坏 xml 映射
我有一个使用 xml 配置的 struts2 映射的旧项目。我想让它更新鲜一点并使用注释映射,就像在 spring mvc 中那样。所以我发现,struts2 允许这样做。但是在我添加之后
到我的 pom xml。我的 xml 配置停止工作。
这是我的struts.xml
:
我从 maven pom 中删除了插件。我调试了struts,我在DefaultActionInvocation.createResult()
网上看到proxy.getConfig()
的内容如下:
当我展开"results"
部分时,我看到两个结果映射"success"
和"exception"
在我启用插件后,pom.xml
我在同一行看到以下内容:
在我点击该网址后,出现以下错误:
我没有向 中添加@Action
注释MyAction
,但似乎约定插件Action
在查看 xml 配置之前选择了旧类并构建了映射配置,这就是为什么我有一个错误,即没有任何内容映射到"success"
结果上。
有人遇到过这个问题以及如何解决吗?
java - struts 形式的多动作
我想将 3 个按钮添加到 struts 表单中。我的代码是:
在jsp中:
问题是它不能调用确切的动作。
我总是收到错误消息:“没有为命名空间 /admin/product 和操作名称 admin/product/update 映射操作。”。
我必须将其拆分为 3 种形式吗?或者有没有办法像我的代码一样以 1 种形式为 3 个动作提供 3 个按钮?任何帮助都会很棒。
启用 devmode 时更新了日志记录:
exception - 为什么我的拦截器引发的异常未被捕获?
我有一个自定义拦截器,我从中抛出异常;
运行 Interceptor 的 Action(s) 由 Convention 插件管理;
拦截器引发的异常在 struts.xml 中为 Action 正在运行的包全局定义。
结果:异常映射被忽略,我得到
Struts 问题报告
Struts 检测到一个未处理的异常:
堆栈跟踪
java.lang.IllegalArgumentException:我的消息
我想我只是错过了一些愚蠢的东西......我们已经在类似的问题中讨论过这个问题,但仍然不清楚它是否可以这样工作:
struts.xml
行动
拦截器
我还尝试在抽象 BaseAction 或物理实际 Action 本身中定义全局结果/全局异常映射,但它们也被忽略了。
关于添加/删除/更改什么以使其正常工作的任何想法?这不是深奥的东西,这是基本的:|
java - 在 Struts 2 中重用自定义表达式验证器
在 Struts 2 中,我们可以开发@CustomValidator
可在应用范围内使用的
为了验证我们使用的多个字段@ExpressionValidator
如果表达式太复杂并且需要处理多个字段,我们使用 OGNL 调用静态方法。静态方法将进行验证并返回boolean
例如
以上是自定义表达式验证器的一些方法!
我们@foo.bar.CalendarUtil@compareDates
在应用程序范围内使用为我们进行此验证。
是否有另一种方法使我们能够使用自定义范围验证器?!
是否有任何自定义表达式验证器可以添加到 Struts 中并且我们可以Action
以我们使用的方式调用它@CustomValidator
?