问题标签 [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.
java - ServletContext 和 ServletActionContext 有什么区别
请告诉我ServletActionContext
和 和有什么不一样ServletContext
?
ServletContext
是在所有 servlet 和动作之间共享,而ServletActionContext
特定于一个动作还是在所有动作之间共享?
java - 如何通过 Struts 2 中的代码动态设置语言环境
在我的应用程序中,我必须根据在配置页面中选择的语言环境用户显示内容。我没有使用浏览器默认语言环境。
使用时<s:text>
,总是使用默认的资源文件。
在 Struts1 中,我使用下面的代码在我的过滤器中设置默认语言环境
如何在 Struts2 中动态设置用户选择的语言环境?
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()
只会访问给定请求唯一的数据库连接?
谢谢。
maven - ActionContext.getContext().getParameters() 在 StrutsJUnit4TestCase 期间返回 null
我正在通过 maven 运行 JUnit 测试,其中正在测试一个 struts 操作 java 方法,该方法进行以下调用:
这是“TokenHelper.java”中的方法:
此方法的第一行是返回null
:
下一个 LOC,“params.containKey(...)”抛出 NullPointerException,因为“params”为空。
当这个动作被正常调用时,它运行良好。但是,在 JUnit 测试期间,会出现此空指针。
我的测试类如下所示:
在我切换到使用 StrutsJUnit4TestCase 之后,ActionContext.getContext() 至少不再为空。
知道为什么 .getParameters() 返回 null 吗?
struts2 - 从 ActionContext 获取/设置 ServletRequest 属性
我需要ServletRequest
在 Struts2 拦截器(不是动作类)中设置一个属性。
是否ActionContext
公开 aMap<String, Object>
以控制请求属性,就像它对会话属性所做的那样?
我看到ActionContext
实现了一张地图。本身是ActionContext
请求属性的包装器吗?
java - 是否可以为整个struts webapp配置统一的日期格式?
无论如何我都会得到异常Could not parse date
。
日期格式有统一的公司标准——'dd/MM/yyyy'
有些计算机具有不同的系统区域设置。我正在使用 jQueryUI datepicker
(它是小部件的标准,并且已经确定了 css 样式以匹配应用程序主题)。
一开始,我没有找到更好的解决方案,然后使用对象手动将日期字符串转换为日期SimpleDateFormat
对象。现在我有了转换器类,但仍然需要配置每个具有java.util.Date
属性的操作。
我正在使用 XML 配置,我确实尝试添加到struts.xml
:
它没有用。
有什么可以强制所有 Web 应用程序在没有语言环境的情况下使用单一日期格式,只是输出和输入日期的统一格式?
或者如何提取 Struts 日期类型转换器预期的日期格式,以便我可以使用 JS 转换日期之前发送到服务器以匹配 Struts 预期?
java - Struts2 会话存储位置和管理
我正在阅读 Struts2 In Action,它说为每个请求创建一个ActionContext
、一个ValueStack
和一个Action
实例,因此它们是线程安全的。我想知道框架如何管理会话,因为它不能存储在这些位置,实际 Map 存储在哪里,以及框架如何管理对该 Map 的并发访问?
java - Struts 2中带有bean值的自定义日志拦截器
我正在为审计日志目的编写一个定制的拦截器。我想在拦截器中获取会话属性和请求属性。
例如:我将Username
进入会话并且我也正在接受。
但挑战是:我将一个 bean 定义为审计 bean,我在其中为 bean 设置一些值
这个请求属性是ServletRequestAware
obj。但是我无法将这个审计 bean 检索到拦截器中,请对此提供帮助。
实现这样的会话。
上面我无法检索请求参数。它显示了 JSP 请求参数,但不是我设置的。
struts2 - Struts 2 中的动作上下文是什么
我不明白这个作者:上下文,默认或根对象的属性。..基于上下文
我一直在阅读本教程的这一部分:
http://www.tutorialspoint.com/struts_2/struts_value_stack_ognl.htm
“OGNL 与 JSP 表达式语言非常相似。OGNL 是基于在上下文中有根或默认对象的想法。默认或根对象的属性可以使用标记符号(即井号符号)来引用. 如前所述,OGNL 是基于上下文的,Struts 构建了一个 ActionContext 映射以与 OGNL 一起使用。ActionContext 映射由以下内容组成:..."
作者在写作时是什么意思:
“在上下文中拥有根或默认对象的想法。”
“OGNL 基于上下文”
..这是什么上下文?
这非常令人沮丧。
java - 如何使用 Struts 2 在 JSP 中打印会话属性
这是我所拥有的:
Java 类(添加用户):
Java 类(添加关联):
JSP(两种情况相同):
我有两种将返回消息传递到页面的情况。添加用户之后,以及添加用户关联之后。在这两种情况下,参数都正确传递给会话(我调试了代码),但它仅在第一种情况下显示(添加用户)。第二种情况假装没有actionMessage
会话。
可能是什么原因?