问题标签 [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 投票
5 回答
10314 浏览

struts2 - 拦截器中的 Struts 2 Session

我试图通过实现SessionAware接口(我已经实现了该setSession方法)从我的拦截器中访问会话对象,但我无法以这种方式获取我的会话对象。

然后我尝试ActionContext.getContext().getSession()了,我能够获得会话,但我不知道,但它只是第一次在每个浏览器中为每个用户显示为空,然后在调用另一个操作时填充。

我认为会话有问题。为什么它只是第一次给我一个空会话?它只有在第一次给空会话后才设置一些东西吗?

如果是这种情况,那么每个人都会在他们的第一个请求中显示为访客,然后在他们的第二个请求中显示为用户名,然后继续。

还是我以错误的方式获得会议?

我看到了在拦截器中获取会话的代码,但这对我不起作用,因为它找不到常量HTTP_REQUEST

关于解决任何问题的任何建议?

我忘了提到的事情 - 我的网站是一个安全网站(https),所以如果用户没有登录,它不会让他进入网站,如果他登录了,至少他的用户名应该在会话中. 不应该吗?

0 投票
1 回答
1119 浏览

java - Struts2 addActionError,jsp中的错误重复

我在使用 struts2 的 addActionError 方法时遇到了一个奇怪的错误。

我在 Action Class 中的代码是:

STRUTS.xml:

其中 MyInterceptorStack 是:

我的 JSP:

消息应该是: 在此处输入图像描述

但结果重复如下:

在此处输入图像描述

0 投票
1 回答
210 浏览

java - struts2让我发疯

我一直在尝试制作一个java项目。它使用 Struts 2 标签。每当单击它时都会有一个按钮Update,它应该更新数据库中的值。

但我收到此错误:

没有为操作 com.comviva.im.ui.action.sysadmin.CUGAction 和结果输入定义结果

0 投票
1 回答
4011 浏览

jsp - 使用消息存储拦截器的 Struts 2 验证

我有一个尝试让用户登录的操作。

如您所见,如果用户名或密码无效,我会抛出一个 CredentialException,然后在我的 fieldError 中填充该异常消息。我什至尝试添加一个操作错误。

通过一些建议和在线搜索,我设法使用 Message Store Interceptor 使用 RegisteredUserAction.action 和 MainAction.action 中的注释分别存储和获取。

这是相关的 struts.xml 文件内容:

我正在使用基于模板的方法,其中中间内容(在我的情况下是 LoginPage.jsp)被动态包含到主页中。

我的 page.jsp(包括 mainContent):

我的 login.jsp(包括在内):

重定向工作正常,登录表单出现,但没有错误。我什至尝试在 struts.xml 中使用消息存储拦截器,但没有成功。:(

0 投票
1 回答
4922 浏览

java - 用户会话在 Tomcat 上搞混了

我们在 IIS7.5 之后使用 Tomcat 6.29,带有 spring、hibernate 和 struts2 框架。我们现在开始注意到服务器会话变得混乱,尤其是在 Ajax 请求中。

有关问题的更多详细信息

  • 用户 1 请求 page1,用户 2 请求 page2。但是 user1 获得了 page2 服务,而 user2 获得了服务器 page1。
  • 会话 ID 也在变化,但在刷新页面时,会提供正确的页面。
  • 当用户数量很多时,问题似乎更频繁地发生。

任何指向问题根源的指针都会有所帮助,代码在用户数量较少的情况下运行良好,并且没有报告此类实例。

编辑

web.xml

struts.xml

其他信息

1)用户通过提交表单登录,登录时我们执行以下操作,

2) 使用的操作系统是 windows 2008 RC2

EDIT2 INCEPTOR 代码

拦截器 1

拦截器 2

0 投票
2 回答
544 浏览

java - 从 Struts2 的堆栈中删除拦截器

struts.xml中,我tokenSession在我的拦截器堆栈中包含了拦截器,以验证每个请求的令牌。不幸的是,对于 AJAX 请求,同样的效果并不好。执行时我得到了invalid.token响应actionInvocation.invoke()

因此,我想停止为 AJAX 请求(单独)执行 tokenSession 拦截器。我有一个自定义拦截器(日志记录),它在拦截器之前被调用tokenSessiontokenSession是否可以根据请求类型(如果是 AJAX 请求)从日志拦截器的堆栈中删除拦截器?

0 投票
3 回答
5454 浏览

java - 没有为操作定义结果和结果输入

这是我的struts.xml

当我打电话loadcity.action时,我收到以下错误

这是我的操作方法:

0 投票
1 回答
3109 浏览

java - 警告:表单令牌与会话令牌不匹配 null

这个警告的原因是什么?

JSP:

Struts.xml:

0 投票
1 回答
399 浏览

java - 我的配置文件 struts.xml 是否正确?

我想知道这个文件是否正确,因为我不太了解拦截器。

struts.xml:

我正在使用 Struts 2.3.1 获取更多详细信息。

0 投票
3 回答
1939 浏览

java - Struts 2 工作流拦截器和没有 INPUT 结果的操作

如果我理解,Struts 2 拦截器堆栈正确,工作流拦截器会查看验证拦截器是否报告了任何验证失败。如果发现有验证失败,则返回(默认)Action.INPUT

如果是这种情况,如果正在执行的 Action 没有INPUT在其struts.xml配置中定义结果会发生什么?