java - Struts2 - 不同的浏览器,不同的机器,相同的表单数据

标签 java jakarta-ee struts2

我相信它与 Struts2 ValueStack 有关,但如果你们能帮助我的话那就太好了。

我有以下设置:Spring 3 + Struts 2。 我的 struts Action 非常像这样:

@ParentPackage("struts-default")
public class StepOneAction extends ActionSupport {
...
}

这样的Action有一个方法是我的转发:

@Action(value = "/bla", results = { @Result(name = "ble", location = "/bli.jsp") })
public String populate() {
    ...
    return BLE;
}

最后这样的Action是@Autowired。

令我困惑的是,如果我打开(比如 Firefox),导航到第一页 - 这是一个 3 步向导 - 填写表单并提交然后打开另一个浏览器(比如 Opera),然后导航到第一页,Opera 会从 Firefox 填充数据。

这怎么可能?我错过了什么?

最佳答案

ValueStack 是针对每个请求的,所以我不明白它怎么可能成为这里的一个因素。

听起来 Spring 将 StepOneAction 视为单例,这将解释您所看到的行为。需要根据每个请求实例化操作。

关于java - Struts2 - 不同的浏览器,不同的机器,相同的表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6814504/

相关文章:

java - 使用struts2分割字符串

java - 使用 lambda 表达式 java 从比较器返回值

java - 条件为 math.pow 的 Big-O of 循环

java - 用户登录时导航栏图像应该改变(JSF 2.0 + primefaces)

java - 何时创建新的 EntityManager

java - struts2中默认拦截器抛出的异常如何处理?

java - 键盘按下和 Jbutton

java - 删除对象时微服务的通信

Java 分析 - 检测导致峰值的原因

java struts2 奇怪的序列化行为(自行舍入大数)