据我所知,ValueStack是在Struts2中引入的,现在对Struts1模型的另一个更改是为每个请求实例化一个新的ActionObject。因此,我们可以定义实例变量,而不必担心多线程问题。拦截器和JSP从ActionObjects访问实例变量的方式是通过ValueStack。但是ValueStack的实现方式(或者至少由Struts2框架使用)是由ValueStack实现的。使访问更容易,这样我们就不需要遍历整个对象树。我有以下问题。
ActionClass有一个名为price的成员变量,在这个变量中将存储这个值,由此产生的showResults.jsp将访问这个变量(使用标记库)来显示价格。struts2框架如何保证client1和client2得到正确的响应,并且在JSP上显示响应时价格不会乱七八糟,因为据我理解,ValueStack只是先出(堆栈逻辑)方式。因此,它可能最终返回10到两个客户端请求,因为相同的变量在值堆栈上存储两次(同名),但值不同。ValueStack何时从其列表中销毁对象?发布于 2013-12-06 13:36:09
valueStack的top上,因此操作属性按名称检索,但嵌套bean使用OGNL点表示法进行解析。关于OGNL的更多信息,您可以在文档中找到。valueStack,因此客户端不相互干扰,并且有自己的值,除非在application作用域中维护这些值。valueStack由dispatcher创建并放到操作上下文中。它也可以在需要时由一些拦截器重新创建。您不应该担心它的价值,因为它们在操作结束时就被破坏了。https://stackoverflow.com/questions/20417423
复制相似问题