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

java - jQuery 的 datepicker 插件不会将值发送到 Struts 2 中的后端

我正在使用 jQuery 显示日历,它完美地工作,但是当我提交表单后端时没有收到结果 >> 结果是null.

JSP:

爪哇:

生成的 HTML:

0 投票
1 回答
680 浏览

java - setSession() 没有被调用?

在我实现的动作类中SessionAware,它setSession()没有被调用。我execute()直接收到回调。

以下是一些相关细节:

Struts.xml

动作类

我没有使用默认堆栈中的任何拦截器。我是否需要添加任何拦截器才能在setSession(). 请指出我的错误。

0 投票
2 回答
269 浏览

java - 与动作和拦截器不同的字符串

动作文件:

我的拦截器:

result.jsp

MyJsp.jsp

struts.xml

我的问题是,我从拦截器返回的字符串与操作文件的字符串不同,仍然使用操作字符串生成操作视图来映射结果,而不是拦截器,为什么?

0 投票
1 回答
842 浏览

java - 如何重命名 Struts 2 令牌参数

如何重命名 Struts2 令牌参数?

如果我们<s:token/>在表单提交时使用标签,默认情况下 Struts2 将生成类似这样的 URL

通过使用这个<s:token name="suid"/>标签,我们可以重命名“struts.token”参数。Struts2 会生成类似这样的 URL

我们如何重命名“struts.token.name”参数?

0 投票
2 回答
228 浏览

java - 为什么 SessionMap 没有实例化?

成员第一次注册时,需要设置会话,这通常发生在登录时,所以我想我会重用LoginAction而不路由到它。但是sessionmap没有被实例化。

注册动作

登录动作

0 投票
1 回答
5324 浏览

java - 验证登录页面时,Struts2拦截器会话获取空值

我是 Struts2 的初学者,我正在尝试在我自己的 web 项目上做这个场景:

  • 当用户访问登录页面时,服务器将通过使用拦截器访问会话来验证他/她是否以“admin”/“user”身份登录,如果用户在会话中没有权限数据(为空),则将通过到登录页面。
  • 如果用户以“admin”身份登录,用户将被重定向到“admin”页面。
  • 如果用户以“用户”身份登录,用户将被重定向到“用户”页面。

我正在尝试这些代码,如果我不使用拦截器,我可以访问会话,但是如果我使用拦截器,我得到的是,会话仍然为,并且使用 NPE 给出错误 500。我不知道它有什么问题。

感谢任何帮助我的人。

struts.xml

struts-pageauth.xml

strusts-user.xml

UserAuthenticationLogin.java

登录.java

0 投票
1 回答
4826 浏览

java - 如何在struts2中禁止缓存?

在我的 Web 应用程序中,当用户注销时,他不应该访问他以前在登录时查看过的页面。但是,由于浏览器缓存,他可以在单击后退按钮时查看这些页面。

我定义了一个拦截器来处理这个:

并在struts.xml

发生的情况是,添加此内容后,我在运行应用程序时收到 404 错误。

我尝试在页面中添加响应标头:

但是必须将其一一添加到所有页面中会很乏味。此外,用户始终可以重新提交表单并再次访问这些页面,而无需实际输入他的登录凭据。

我应该怎么做才能防止浏览器缓存?

0 投票
1 回答
1199 浏览

java - 如何在 Struts 2 的一个动作类中使用不同的验证方法

我有一个动作类,它有两个动作方法。我想要单独的验证方法。我是 Struts2 的新手。我想要这样的东西。我认为它可以通过验证拦截器来实现,但是如何实现呢?

0 投票
1 回答
130 浏览

java - Struts2 定时填写JSP 页面中的标签

我有一个带有一个动作类和一个拦截器的简单 struts2 Web 应用程序。getTitle()动作类有一个从会话中获取字符串的 getter 方法。拦截器位于默认堆栈的底部,因此它在调用后最后和第一个执行。它以这样一种方式构建,即它可以在操作调用之前和之后修改会话中的标题。生成的 JSP 页面然后显示此标题。

我认为以下逻辑将适用:

  1. 调用运行前的拦截器逻辑
  2. 动作类逻辑运行
  3. 调用运行后的拦截器逻辑
  4. struts 知道结果并获取结果.jsp中的页面
  5. struts 填充<:s>标签并从动作类中.jsp调用。getTitle()

然而这并没有奏效。生成的 JSP 始终显示执行第 3 步之前的标题。我在我的 java 代码中添加了一些简单的日志记录,它证实了我的怀疑。这是执行顺序:

  1. 日志:调用运行前的拦截器逻辑
  2. 日志:动作类逻辑运行
  3. 日志:getTitle()动作类的方法运行
  4. log:调用运行后的拦截器逻辑

所以不知何故,第 6 步变成了第 3 步。为什么会这样?如何在调用动作后在拦截器中添加逻辑来更改标题?

0 投票
1 回答
155 浏览

java - 如何对两种操作方法使用相同的验证方法

我在 Struts2 中有此方法的操作方法和验证方法。我想将此验证方法用于另一种操作方法。我不知道该怎么做。请帮忙。场景描述如下: