问题标签 [actioncontext]

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

java - ServletContext 和 ServletActionContext 有什么区别

请告诉我ServletActionContext和 和有什么不一样ServletContextServletContext是在所有 servlet 和动作之间共享,而ServletActionContext特定于一个动作还是在所有动作之间共享?

0 投票
3 回答
8731 浏览

java - 如何通过 Struts 2 中的代码动态设置语言环境

在我的应用程序中,我必须根据在配置页面中选择的语言环境用户显示内容。我没有使用浏览器默认语言环境。

使用时<s:text>,总是使用默认的资源文件。

在 Struts1 中,我使用下面的代码在我的过滤器中设置默认语言环境

如何在 Struts2 中动态设置用户选择的语言环境?

0 投票
2 回答
4907 浏览

java - Struts 2 中的 ActionContext 对于当前请求是唯一的吗?

我正在使用一个自定义拦截器,它创建一个新的数据库连接,并在执行操作之前将此连接设置为当前操作。之后,拦截器关闭连接。

我正在寻找一种方便的方法来与操作使用的其他类/静态方法(例如模型)共享此数据库连接。例如,我可以像调用静态方法一样调用静态方法,也可以User.get( id )不必User.getEmail( id )分别将数据库连接传递给每个方法。

我可以ActionContext通过执行以下操作将数据库连接设置到拦截器上:

ServletActionContext.getActionContext().put("db", db );

然后我可以从静态方法访问这个数据库连接,例如:

我的问题是,是否会ActionContext为每个给定的请求生成一个新的,所以我可以确定每次都会使用一个新的数据库连接?例如,如果我有 500 人访问mysite.com/fooAction,我是否可以确定这 500 个请求中的每一个都生成一个唯一的 ActionContext,并且每次调用都User.getEmail()只会访问给定请求唯一的数据库连接?

谢谢。

0 投票
1 回答
2184 浏览

maven - ActionContext.getContext().getParameters() 在 StrutsJUnit4TestCase 期间返回 null

我正在通过 maven 运行 JUnit 测试,其中正在测试一个 struts 操作 java 方法,该方法进行以下调用:

这是“TokenHelper.java”中的方法:

此方法的第一行是返回null

下一个 LOC,“params.containKey(...)”抛出 NullPointerException,因为“params”为空。

当这个动作被正常调用时,它运行良好。但是,在 JUnit 测试期间,会出现此空指针。

我的测试类如下所示:

在我切换到使用 StrutsJUnit4TestCase 之后,ActionContext.getContext() 至少不再为空。

知道为什么 .getParameters() 返回 null 吗?

0 投票
2 回答
1124 浏览

struts2 - 从 ActionContext 获取/设置 ServletRequest 属性

我需要ServletRequest在 Struts2 拦截器(不是动作类)中设置一个属性。

是否ActionContext公开 aMap<String, Object>以控制请求属性,就像它对会话属性所做的那样?

我看到ActionContext实现了一张地图。本身是ActionContext请求属性的包装器吗?

0 投票
1 回答
882 浏览

java - 是否可以为整个struts webapp配置统一的日期格式?

无论如何我都会得到异常Could not parse date

日期格式有统一的公司标准——'dd/MM/yyyy'

有些计算机具有不同的系统区域设置。我正在使用 jQueryUI datepicker(它是小部件的标准,并且已经确定了 css 样式以匹配应用程序主题)。

一开始,我没有找到更好的解决方案,然后使用对象手动将日期字符串转换为日期SimpleDateFormat对象。现在我有了转换器类,但仍然需要配置每个具有java.util.Date属性的操作。

我正在使用 XML 配置,我确实尝试添加到struts.xml

它没有用。

有什么可以强制所有 Web 应用程序在没有语言环境的情况下使用单一日期格式,只是输出和输入日期的统一格式?

或者如何提取 Struts 日期类型转换器预期的日期格式,以便我可以使用 JS 转换日期之前发送到服务器以匹配 Struts 预期?

0 投票
1 回答
431 浏览

java - Struts2 会话存储位置和管理

我正在阅读 Struts2 In Action,它说为每个请求创建一个ActionContext、一个ValueStack和一个Action实例,因此它们是线程安全的。我想知道框架如何管理会话,因为它不能存储在这些位置,实际 Map 存储在哪里,以及框架如何管理对该 Map 的并发访问?

0 投票
2 回答
662 浏览

java - Struts 2中带有bean值的自定义日志拦截器

我正在为审计日志目的编写一个定制的拦截器。我想在拦截器中获取会话属性和请求属性。

例如:我将Username进入会话并且我也正在接受。

但挑战是:我将一个 bean 定义为审计 bean,我在其中为 bean 设置一些值

这个请求属性是ServletRequestAwareobj。但是我无法将这个审计 bean 检索到拦截器中,请对此提供帮助。

实现这样的会话。

上面我无法检索请求参数。它显示了 JSP 请求参数,但不是我设置的。

0 投票
1 回答
794 浏览

struts2 - Struts 2 中的动作上下文是什么

我不明白这个作者:上下文,默认或根对象的属性。..基于上下文

我一直在阅读本教程的这一部分:

http://www.tutorialspoint.com/struts_2/struts_value_stack_ognl.htm

“OGNL 与 JSP 表达式语言非常相似。OGNL 是基于在上下文中有根或默认对象的想法。默认或根对象的属性可以使用标记符号(即井号符号)来引用. 如前所述,OGNL 是基于上下文的,Struts 构建了一个 ActionContext 映射以与 OGNL 一起使用。ActionContext 映射由以下内容组成:..."

作者在写作时是什么意思:

“在上下文中拥有根或默认对象的想法。”

“OGNL 基于上下文”

..这是什么上下文?

这非常令人沮丧。

0 投票
2 回答
9560 浏览

java - 如何使用 Struts 2 在 JSP 中打印会话属性

这是我所拥有的:

Java 类(添加用户):

Java 类(添加关联):

JSP(两种情况相同):

我有两种将返回消息传递到页面的情况。添加用户之后,以及添加用户关联之后。在这两种情况下,参数都正确传递给会话(我调试了代码),但它仅在第一种情况下显示(添加用户)。第二种情况假装没有actionMessage会话。

可能是什么原因?