问题标签 [xwork]

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.

0 投票
2 回答
740 浏览

java - 如何将缺少条目的自定义对象数组发布到 Struts2 操作

表格输入这建议在数组大小未知且两者之间存在间隙时使用XWorkList而不是。ArrayList

XWorkList根据文档,它不是通用的,它没有空的构造函数。

我的问题是如何使用XWorkList或有什么方法可以提交列表中缺少某些项目的 bean 列表?

示例 HTML:

0 投票
1 回答
1722 浏览

security - Tomcat 文件上传 - 安全漏洞

我尝试使用带有 Apache 2.2 前端 tomcat 的 tomcat 7x 在公共域上托管 struts2 应用程序。

我在我的 Web 应用程序文件夹中看到了一些恶意活动。

每次我看到一些文件,如 indcx.jsp、maneger.jsp、uplod.jsp 等,以及许多这样的未知文件都被上传到 tomcat/webapp/application 文件夹中。

我每次都手动删除这些文件,但想知道我们是否有任何设置或配置可以避免此类恶意/黑客活动和上传此类未知文件。

编辑

我又看到了这样的文件,文件的内容如下

我的问题是有人怎么能把这个文件上传到我的服务器上?

再次编辑

经过仔细分析,这看起来是一个 struts2 或 xwork 安全问题或漏洞,这里是所有日志,它们讲述了剩下的大部分故事

60.15.137.72 - - [27/Jan/2014:17:51:48 +0530] “GET /common/test.action?redirect:$%7B%23a%3d%23context.get('com.opensymphony.xwork2. dispatcher.HttpServletRequest'),%23b%3d%23a.getRealPath(%22/%22),%23matt%3d%23context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse'),%23matt.getWriter() .println(%23b),%23matt.getWriter().flush(),%23matt.getWriter().close()%7D HTTP/1.0" 200 74

60.15.137.72 - - [27/Jan/2014:17:51:48 +0530] “GET /common/test2.action?redirect:$%7B%23a%3d%23context.get('com.opensymphony.xwork2. dispatcher.HttpServletRequest'),%23b%3d%23a.getRealPath(%22/%22),%23matt%3d%23context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse'),%23matt.getWriter() .println(%23b),%23matt.getWriter().flush(),%23matt.getWriter().close()%7D HTTP/1.0" 200 74

60.15.137.72 - - [27/Jan/2014:17:51:49 +0530] “GET /common/test3.action?redirect:$%7B%23a%3d%23context.get('com.opensymphony.xwork2. dispatcher.HttpServletRequest'),%23b%3d%23a.getRealPath(%22/%22),%23matt%3d%23context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse'),%23matt.getWriter() .println(%23b),%23matt.getWriter().flush(),%23matt.getWriter().close()%7D HTTP/1.0" 200 74

0 投票
2 回答
666 浏览

java - 如何将 jar 文件添加到 WEB-INF/classes 目录中?

我正在尝试学习如何创建 Web 应用程序,并且正在使用 xwork 和 webwork。前端的 Freemarker。如果我将 .class 文件按原样放入 classes/ 目录,我的应用程序(MyTestApp.war)工作正常。以这种方式 - classe/com/prg/hworld/HelloWorld.class 但相同的文件,当我创建一个 jar 并将其放在 classes/ 目录中时,我收到此错误。

找不到动作类 [com.prg.hworld.HelloWorld],跳过动作 [hello] java.lang.ClassNotFoundException: com.prg.hworld.HelloWorld at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1332 )

我已经在 manefest.mf 中添加了 jar 名称,但我仍然遇到同样的错误。请帮帮我。

0 投票
1 回答
159 浏览

jsp - 如何通过使用 jsp EL 而不是 jsp 中的 OGNL 访问字段错误?

ValueStack我是否可以通过在 JSP 中使用 JSP EL访问字段错误(放入验证器拦截器)?

0 投票
1 回答
304 浏览

struts2 - com.opensymphony.xwork2.inject.Container 类在 2.3.15.3 到 2.3.16 之间有什么区别吗

我认为在早期版本(2.3.16 之前)org.springframework.jms.listener.SimpleMessageListenerContainer中可以转换为com.opensymphony.xwork2.inject.Container. 之后它给出以下错误....

0 投票
1 回答
292 浏览

java - 测试 xwork 动作类时出现空指针异常

我正在尝试单独运行xwork,即使用main method(),但不幸的是我没有执行我的动作类,而是因为我在defaultActionFactory 中的xwork 容器为空,所以我得到了空指针异常。这是我的动作课:

我用于测试此操作的主要课程如下:

最后,我将 xwork.xml 放在同一个包文件夹中,下面是我的 xwork.xml 文件

我被困在这里,我做了很多搜索,但找不到任何富有成果的东西,请告诉我这里缺少什么?帮助将不胜感激

空指针发生在 DefaultActionProxyFactory 下面的代码中,但我正在从我的主类发送所有内容,它说容器为空

0 投票
1 回答
83 浏览

java - 为什么 Struts 2 注释没有 LongRangeFieldValidator

我正在使用 Struts2 中的注释进行验证,我很惊讶地看到注释没有LongRangeFieldValidatorwhere 因为使用 xml 完成的验证确实有LongRangeFieldValidator

我尝试了不同的方法来获取LongRangeFieldValidorusing 注释。

  1. LongRangeFieldValidator. 它显示错误,因为它实际上并不存在并且com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator无法转换为Annotation类型。这很明显,所以我切换到下一个。

  2. 我用过IntRangeFieldValidator。我完全可以使用它,因为它无法进行类型转换。我认为这应该有效,因为文档说它适用于数字类型。

  3. DoubleRangeFieldValidator这也验证(它应该)非整数值,所以我不得不放弃它。

  4. 最后我不得不将我的long字段转换为 aString并且不得不使用RegexFieldValidator.

LongRangeFieldValidator我的问题是为什么包中没有 acom.opensymphony.xwork2.validator.annotations以及获得它的最佳做法是什么?

0 投票
0 回答
673 浏览

java - Struts Validation 框架来比较两个日期

我有一个页面,可以在其中输入开始日期和结束日期。我需要验证结束日期不应小于开始日期,因为我正在尝试使用 Xwork Validator 实现相同的日期,但不工作。下面是代码

前两个验证工作但不是“字段表达式”请帮我解决这个问题

使用 Struts:2.0.11

0 投票
1 回答
154 浏览

java - Struts Xwork Validation Ignore for application Back Button

对于某些页面,我有一个场景可以忽略应用程序上的 Struts 验证。我有一个页面流。用户完成一个页面并单击“下一步”按钮进入另一个页面。单击下一步时,会检查强制性元素,它们工作正常。

在同一页面中有“返回”按钮,单击该按钮用户将导航到上一页。即使未输入必填元素,用户也应允许转到上一页。但就我而言,强制检查正在停止。

我正在使用 Struts 验证框架工作。我有AdminWorkFlow-Validation.xml文件,该文件具有页面所需的所有验证。

单击后退按钮时如何进行验证检查忽略。

使用 Struts 2.0.11 和

0 投票
1 回答
248 浏览

validation - 在 XWork 验证器中重用正则表达式

在不创建新类并将其添加为验证器类型的情况下,我想在 XWork 中重用一些正则表达式。

我似乎无法在网上找到语法正确的教程。我想更改以下内容:

类似于:

或者通过链接其他现有类型在 xml 中创建新的字段验证器类型,例如,具有最小和最大长度的必填字段以及要传递的正则表达式。

XWork 中 xml 和语法的正确位置是什么?