问题标签 [struts2-interceptors]

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 投票
3 回答
2582 浏览

struts2 - execAndWait 拦截器在等待后未重定向到成功页面

我有一个登录屏幕,其中将进行一些用户输入验证,用户将通过身份验证并最终重定向到欢迎屏幕。

下面是拦截器的定义LoginAction

下面是执行方法LoginAction

我对这段代码有几个问题:

1) 对于经过身份验证的用户,wait.jsp页面正在显示,但Welcome.jsp没有发生重定向。

2)对于未经身份验证的用户,我收到以下异常:

0 投票
1 回答
3718 浏览

java - 在 Struts 2 中保留多个 JSP 和 Actions 之间的值

我的Struts项目结构如下:

page1-> action1-> page2-> action2->page3

我需要的是我在输入标签中输入的值,page1以便在action2.

这是我的代码:

第 1 页:

行动1:

第2页:

行动2:

并显示所有内容

第 3 页:

这是我面临的问题,如txtid显示为null,从中我推断该值未从传递page2action2

我想出的一个解决方案是使用

在我的形式中page2,我可以使用txtidas txtid2in的值action2,但这似乎更像是一种 hack,而不是实际的解决方案,所以欢迎任何其他建议。

0 投票
0 回答
614 浏览

java - Struts 2 FileUploadInterceptor 触发太晚,无法验证文件大小和文件扩展名

我似乎无法弄清楚如何FileUploadInterceptor在 Struts2 中正确使用。我把所有东西都连线了,它确实有效。我可以指定文件扩展名和最大文件大小,它确实有效。问题如下:

  1. 我将最大文件大小指定为 100mb
  2. 当用户上传 110mb 的文件时,我可以看到该类使用帮助公共库JakartaMultiPartRequest处理文件上传。file-upload这发生在文件上传拦截器之前。
  3. 一旦用户等待几分钟并且文件上传完成,文件上传拦截器就会触发并告诉用户文件太大。

事件顺序有问题。我想查看内容长度标头并立即告诉用户文件太大(在上传之前)。我知道标题并不总是在那里,但如果它在那里,我想使用它。

除了覆盖JakartaMultiPartRequest类之外,我不明白如何做到这一点。

编辑:这是我理解的顺序:

  1. 用户通过文件上传向服务器发送多部分请求。
  2. Struts2 中的 JakartaMultiPartRequest 解析请求并将其上传到 Struts2 临时文件夹。
  3. 流程最终到达文件上传拦截器,在该拦截器中检查最大文件大小和文件扩展名。

从上面很明显,上传发生在第 2 步。整个文件现在都在服务器上,并且只有在文件上传拦截器检测到它太大之后。

0 投票
2 回答
1109 浏览

java - 为什么我们不能在 Struts2 中更改 validate 方法中的任何内容?

在 Struts2中,方法在validate方法之前被调用execute。但是为什么我们不能改变validate方法中的任何字段值呢?

0 投票
1 回答
2936 浏览

java - TokenHelper - 找不到映射到令牌名称 struts.token 的令牌

如果我添加"execAndWait"拦截器,它会给我上面的错误:

配置:

正如我所读到的,有人说这是一个警告,我们可以通过更改TokenHelper课程来避免它。如果是这样怎么做?

0 投票
2 回答
4559 浏览

java - 如何在 Struts 2 中有没有后缀的 URL(例如 .action)?

事情是这样的,我不仅需要使用我的 .war 服务 java,还需要一些 javascript 文件。所以,例如。如果有人访问 URL:

然后我需要将其正确地用作 javascript 文件。同时,如果有人去:

我需要 Struts2 将其作为可能的控制器提供服务。

我在网上找到的从 url 中删除后缀的方法会导致两个 URls 都由 struts 2 提供服务(因此foo.js即使第一个文件存在,也会给它一个错误)。有没有办法(例如拦截器)在给出错误之前首先检查给定的 .js 文件是否存在?

0 投票
1 回答
1165 浏览

java - Struts 2.3 Store Interceptor:如何将 ActionErrors 从 Interceptor 传递给 Action?

我一直在阅读StoreInterceptorStruts 2 文档中的内容,它讨论了如何将 StoreInterceptor 粘贴到您的 Action 定义中struts-config.xml,并且它可以正常工作。但那是如果您ActionErrors在 Action 中创建和添加 from。

我的问题是我正在使用 a 进行登录LoginInterceptor,如果登录失败,则会添加ActionError如下内容:

它添加得很好,但是当我到达在之后调用的LoginAction 时LoginInterceptorValidationAwareSupport.actionErrorsnull.

我认为通过添加StoreInterceptor这样的内容,它将存储ActionErrors在请求或会话中(使用operationMode "store"or"retreive"参数):

但它不起作用。我也尝试将StoreInterceptor直接添加到 defaultStack 中,但这也不起作用。

StoreInterceptor不仅适用ActionErrors于动作之间的保存,而且适用于拦截器和动作之间的保存?

0 投票
2 回答
2997 浏览

java - 如何使用 OGNL 调用操作方法

如何使用 OGNL 调用操作方法?

helloAction.java

success.jsp

struts.xml

我从struts 2 OGNL获得了参考链接

quote()不调用此方法。我正在使用 xwork-2.0.1.jar 和 ognl-2.6.11.jar。

0 投票
4 回答
11000 浏览

struts2 - 在 Struts 2 拦截器中获取 HttpServletRequest

为了得到HttpServletRequest一个拦截器,我使用了下面的代码:

我试图ServletRequestAware在拦截器中实现,但没有奏效。

有没有更好HttpServletRequest的方法进入拦截器?!

0 投票
2 回答
2598 浏览

java - 如何拥有多个调用 `invocation.invoke()` 的 Struts2 拦截器?

假设在一个 struts 2 动作中有多个嵌套的拦截器:

    • 酒吧
      • 巴兹

每个拦截器都在他们的intercept()方法中执行以下操作

什么时候invocation.invoke()被调用,这个会调用intercept()队列中下一个拦截器的方法,还是真的会调用该action.execute()方法?

例如,如果fooinvocation.invoke(),会调用bar.intercept()还是会调用action.execute()

如果是后者,那么我该怎么做才能让bar.intercept()baz.intercept()(如果从 bar 拦截器调用)在调用之前调用action.execute(),即所有拦截器都在调用之前运行action.execute()