问题标签 [interceptorstack]

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 回答
615 浏览

java - Struts 2 如何在每个动作之前运行验证

在 Struts 2 应用程序中,我想在所有项目操作之前运行一个逻辑。逻辑将生成字段错误或让操作继续。

我试图为这种情况开发一个拦截器。

但这是我的问题:

在验证器中,我们调用addFieldError(fieldName, object);设置字段错误,但我不知道如何在拦截器中添加字段错误。


如果这是不可能的,请让我知道我是否可以使用在我所有操作之前运行的验证器(我使用@Validations,并且我正在寻找一种不在我所有操作之上复制我的验证器的方法!)

0 投票
2 回答
310 浏览

validation - 添加不需要验证的新元素时,Struts 2 XML 表单验证会中断

我面临一个很难调试的问题。我有一个 JSP 页面,上面有一些提交给 Struts2 动作的表单元素。我还有一个 XML 表单验证文件来对提交的字段执行一些验证。该文件具有命名约定“actionName-validation.xml”

这很好用,但是当我在表单之外添加一个下拉框时,验证现在失败了。相反,它重定向到一个空白页面,并且我的操作类中的断点没有被命中。

有没有办法打开某种调试或日志记录以进行验证?为什么在表单之外添加标签会导致这种情况发生?

这是JSP页面上的代码:

如果我删除<s:select>标签,它会起作用。

任何帮助将不胜感激。

EDIT2:我发现了问题。我需要一个用于在表单提交到的操作中填充选择下拉列表的 get 方法。

我有一个用于最初为页面调用的操作,但是当验证失败并且它从表单操作类重新加载该页面时,它会尝试重新填充选择下拉列表并需要一个 getter。我为没有早点找到它而感到愚蠢。如果这些类型的问题有某种类型的日志记录或消息传递,那就太好了。

谢谢。

0 投票
1 回答
62 浏览

file-upload - Struts 2 中的 NullPointException 上传文件

我正在尝试使用表单上传文件,并且正在关注互联网上的教程。使用此代码,我收到一个NullPointerException.

这是 index.jsp:

这是success.jsp(在上传成功的情况下):

动作类:

Struts.xmf 配置文件:

注意:error.jsp相当于success.jsp,只是在正文中打印不同的消息。

0 投票
0 回答
479 浏览

java - Linux 上 WebLogic 10.3.x 上的 Struts2 拦截器链中的“IllegalStateException:响应已提交”

Roman C. 请参阅我最近的评论。

---原始消息如下---

关于“已经提交的响应”有很多问题和答案,但我没有发现任何与我的问题相关的问题;特别是我的应用程序没有触及 ServletResponse。

我有一个 Struts2/Tiles2 应用程序在带有 2 个拦截器的 WebLogic 10.3.0 上运行,

  1. AuthenticationInterceptor 确保用户已登录并具有允许访问应用程序的角色。
  2. AgreementInterceptor 呈现用户协议页面。

这个拦截器对适用于我运行 WebLogic 10.3.0 的 Windows 笔记本电脑上的所有场景。

但是,在我们在 Linux 上运行的集群服务器上,当需要接受用户协议的用户登录时,我会收到“IllegalStateException:响应已提交”。当控制权返回到 AuthenticationInterceptor 时会发生错误。

不需要接受协议的用户,无论是因为他们具有永久授权的角色,还是因为他们具有主动接受,都不会收到此错误。

不同之处在于,当需要协议时,拦截器链由协议拦截器结束,协议拦截器返回“协议”,而不是从 ActionInvocation.invoke() 返回结果。

struts.xml:

网页.xml:

AuthenticationInterceptor.java:

协议拦截器.java:

日志文件内容:

0 投票
0 回答
131 浏览

java - 在 Struts 2 中使用 JSP 自定义调试拦截器

我正在使用 Struts 2。

我想创建一个自定义拦截器调试类,以在用户单击保存按钮时在拦截器调试模式浏览器中显示所有属性字段值。

ProduitDto

ProduitAction

JSP:

struts.xml

web.xml

拦截器产品:

当我使用带有调试模式浏览器的拦截器类单击jsp页面中的保存按钮时,如何拦截我的类产品的所有字段值?