问题标签 [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.
file-upload - 上传 SVG 文件时出现“Content-Type not allowed”,即在允许的白名单中
重要提示:以下问题已在 Struts 版本中得到修复
2.3.24
。从那个版本开始,不需要转义任何字符。
阅读更多:JIRA 问题 WW-4457。
我已将 Struts2 FileUpload 拦截器配置为允许 Content-Types 白名单。
这适用于与指定的 Content-Type 匹配的任何文件,但不适用于SVG
具有MIME 媒体类型image/svg+xml
的文件。
使用此配置:
并上传有效的 SVG 文件,我收到属性定义的错误消息struts.messages.error.content.type.not.allowed
:
不允许的内容类型:{0}“{1}”“{2}”{3}
{3}
用户尝试上传的 Content-Type在哪里;
然后例如:
不允许的内容类型:myFile "Sample.svg" "upload__123__456__78.tmp" image/svg+xml
这与我在白名单中定义的 Content-Type完全相同allowedTypes
。
请注意,我使用regex
模式匹配器,在 struts.xml 中使用以下常量启用:
为什么它不起作用,以及如何使它起作用?
java - struts.convention.result.path 在 Struts2 中不起作用
我目前的项目结构如下
我的任务是将所有 JSP 页面放在文件夹 WEB-INF 中,并在项目中进行所有相关更改。
所以我必须更新 struts.xml 中的所有结果标签
到
在网上搜索后,我找到了一个插件 - struts 约定插件来实现这一点,但它遵循其命名约定。
我可以覆盖 Struts 约定插件配置(不遵循其命名约定)吗?我也尝试过,但它没有反映。我struts.xml
的是
当我跑
它显示错误 404。但是如果我将 struts.xml 中的结果更改为
它工作正常。
我不想对所有结果标签进行更改。如何通过在一个地方进行更改来实现这一点?
spring - 如何使用带有注释映射的Action类的struts-spring插件配置struts约定插件
我正在尝试使用已经使用约定插件运行的 strut 2 应用程序配置 spring 插件,因此我正在使用注释。我正在使用 ExtJs 提交表单,在我引入 spring 插件之前,它最初运行良好,现在 ajax 请求无法找到操作,并且在 firebug 中没有显示任何响应。
pom.xml
struts.xml
web.xml
应用程序上下文.xml
动作类
Ajax 请求萤火虫报告,XML 选项卡
我的问题是如何配置 struts-spring 插件以使用带有注释的 struts 约定插件。
java - 使用命名约定插件拒绝直接访问 Struts2 中的 JSP 文件
我一直在努力解决这个问题,因为我是 Struts2 开发的新手,最近才开始使用这个命名约定插件。
我正在尝试创建一个简单的 webapp,它最初只包含两个页面:
- 登录页面 (
login.jsp
) - 主页 (
home.jsp
)
首先向用户显示一个登录页面,如果提供了正确的用户名和密码,他们就会登录并重定向到主页。
我已经成功地创建了我的小型 web 应用程序,写下了一个自定义登录拦截器,一切正常并按预期工作。HomeAction
如果他/她尝试直接调用(home.jsp
如果您以前登录过),我可以将用户重定向到登录页面http://myserver/homeAction
。
当我尝试像这样直接访问 JSP 时出现问题:
http://myserver/home
当我使用这个Convention plugin
时,Struts 会获取我的home.jsp
插件并显示它。这不是我所期望的行为,home.jsp
应该只显示为loginAction
成功的结果。
我试图解决这个问题的事情
好吧,据我谷歌搜索,将我的 JSP 放在/WEB-INF/
目录中应该可以防止它们被访问,但事实并非如此,因为我所有的 JSP 都在/WEB-INF/content/
.
我尝试的另一件事是阻止对任何JSP
资源的访问(阻止*.JSP
请求)。只要您尝试访问myserver/home.jsp
,这就会奏效,但在访问时会失败(如预期的那样)myserver/home
。
编辑: stackoverflow 中有另一个关于这个问题的问题,但我无法理解答案: WEB-INF 下的 Struts 2 Convention Plugin and JSP files
信息更新:我发现 Struts2 约定插件使用称为“无操作结果”的东西,因此您可以通过调用没有它的扩展名来访问您的目录JSPs
内部,它将作为一个虚拟操作处理它,并在成功时返回该操作。这是一个示例来说明我要解释的内容:WEB-INF/content
JSP
JSP
如果我home.jsp
在我的WEB-INF/content
目录中调用http://myserver/home
,Struts2 将“触发”一个动作,其结果将是home.jsp
. 那么问题的解决方案就是禁用这个“无动作”的结果。
如果没有人提供答案,我将继续更新问题,因为我会寻求解决方案。
java - struts.xml 中带有“通配符”参数的操作及其等效注释
我在 struts.xml 中定义了一个删除数据库记录的操作。但是,我想使用注释映射此操作。这包含一个“通配符”参数(要删除的记录的 id)。我不太确定使用注释时怎么会这样。
struts.xml中的动作如下:
struts2 - 无法在 Struts 2 中使用注释调用操作
这是我的动作课:
FirstAction.java
:
SecondAction.java
:
struts.xm
升:
web.xml
:
这是redirect.jsp
:
还有我的图书馆:
当我单击链接redirect.jsp
以调用操作时,例如: call action run4
in namespace "User"
,它正在抛出
我正在尝试找出导致此错误的原因,但看起来我的代码很好。
java - HTTP 404 - 没有为命名空间 [/modeldriven] 映射的操作和与上下文路径关联的操作名称 [datosUsuario] [/FormularioMD]
我是struts2的初学者。我在 eclipse 上创建了一个动态 web 项目,以便使用 struts 2。它有问题,我只是不知道为什么。控制台输出是:
我有以下目录结构:
我的 JSP 文件输入数据:
我的动作类,注意:我使用注释:
我的 JSP 文件显示结果:
我的 web.xml 文件:
那么,有谁能帮帮我吗,谢谢。
java - Struts 2 - 升级后控制器映射错误
从 Struts 版本2.1.8.1升级到2.3.16.3后,我在映射某些控制器时遇到问题。升级前一切正常,但现在 60 多个控制器中有 3 个出现了下一个错误:
错误 [ActionComponent] 无法执行操作:
//vendor-tree!index
没有为命名空间/
和操作名称映射操作vendor-tree!index
。- [未知位置]
这个动作必须在/vendor-tree!index
not in //vendor-tree!index
,但我不明白为什么 Struts 只在错误的地方寻找这 3 个控制器。我在每次请求时都将其称为所有这些控制器
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
它不会改变任何东西Struts2:<s:submit> 按钮中的方法属性不起作用是另一种情况,它不能解决这个问题
struts.xml
问题控制器
工作控制器
自定义映射器是
你知道为什么会这样吗?
java - 无法使用 Struts 约定插件加载 bean
我想使用基于注释的配置而不是基于 xml。Struts 有约定插件来做这种事情。
所以我删除struts.xml
了文件main/resources
,将此插件添加为依赖项,在操作上添加一些注释并尝试在服务器(Tomcat 7)上运行我的项目。
当服务器启动时,我得到下一个堆栈跟踪:
问题是struts有xwork-core
依赖,所以它位于类路径中,但不知何故tomcat找不到它。这些是我的依赖项pom.xml
:
我做错了什么?
java - java.lang.ClassNotFoundException 的未知原因
在应用程序中,我们将Action
类声明为 Spring bean。这适用于所有 Struts 映射。
我们将它用于多个 Struts 映射
在所有动作映射声明中,它都可以正常工作,但有一个声明正在破坏并抛出异常:
不幸的是,这不是在 Eclipse 和测试环境中发生的,而是在 QA 环境中发生的。需要一些想法和意见来解决这个问题。