问题标签 [valuestack]
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 - Struts2 ValueStack 如何处理多个请求
我知道ValueStack
是在 Struts2 中引入的,Struts1 模型的另一个变化是现在ActionObject
为每个请求实例化一个新的。所以我们可以定义实例变量而不用担心多线程问题。拦截器和 JSP 访问实例变量的ActionObjects
方式是通过ValueStack
. 但是实现方式ValueStack
(或至少由 Struts2 框架使用)是由ValueStack
. 使访问更容易,这样我们就不需要遍历整个对象树。我有以下问题。
如果我有嵌入对象(对象的多个层次结构)怎么办?在这种情况下,访问机制如何表现?
如果让我们说 2 个客户端同时向同一个 actin 发出请求,并且由于 2 个客户端提供的输入返回了 2 个不同的结果,Action 执行的结果是不同的。假设我的 Action Class 有一种获得最优价格的方法,并且基于我的后端服务中的逻辑,对于 2 个不同的请求,结果分别为 10 和 12。现在
ActionClass
有一个名为 price 的成员变量,该值将存储在其中,生成的 JSPshowResults.jsp
将访问该变量(使用标签库)以显示价格。struts2 框架如何保证 client1 和 client2 得到正确的响应,并且在 JSP 上显示响应时价格不会混乱,因为据我了解ValueStack
只是先进先出(堆栈逻辑)的方式。因此,它可能最终向两个客户端请求返回 10,因为相同的变量在值堆栈上存储了两次(具有相同的名称)但具有不同的值。什么时候
ValueStack
从列表中销毁对象?
jakarta-ee - Struts2 拦截器后处理
我编写了自定义拦截器,并且在后处理时我想通过检查值堆栈上是否存在异常对象来添加 actionError/actionMessage。
如果结果是“错误”,我将重定向到 error.jsp
但 error.jsp 上没有显示任何内容
即使我正在尝试从拦截器中设置参数,例如
或者
并访问jsp上的参数,例如
但是没有效果我在jsp上仍然一无所获是因为对象的范围,因为当我在会话中设置变量时它工作正常。
我实施后处理的方法是错误的还是我遗漏了什么。
java - 如何获取 Struts 2 迭代器中的值的总和?
我的应用是购物网站应用。在下订单的情况下,我需要将每个项目的价格总和作为一个参数传递。价格正确地到达迭代器。但我没能得到这些价格的总和。购物车列表来自另一个动作类。
我试过这个:
如果购物车列表有两个项目,这将显示两个标签。如何在迭代器中获得一个参数的总数?
jsp - 理解 Struts2 中的 OGNL 表达式
下面的代码显示<s:a>
了从 1 到 10 使用 Struts 的链接。
当currentPage
(which is 2) 匹配条件表达式test="%{#currentPage eq #row}"
时,它只使用<s:property>
inside显示文本,<span>
而不是显示链接。没关系。
当我使用这些相同的标签但在其相应的操作类中使用适当的属性时,
在这种情况下,currentPage
(和所有其他)是Long
动作类中的类型属性。在这里,关于前一个案例的条件测试test="%{#currentPage eq #row}"
被评估为false。
它需要省略#
before currentPage
。因此,表达式变为test="%{currentPage eq #row}"
(否则,它总是计算为假)。
我不明白为什么第一种情况需要test="%{#currentPage eq #row}"
,第二种情况需要test="%{currentPage eq #row}"
?有什么我可能会丢失的吗?
java - Struts 2 - 了解 OGNL 和 params 拦截器之间的工作
我是 Struts 2 的新手。我正在从 Struts2 In Action 一书中学习它。我很难理解 OGNL 中的一些概念,如下所示 -
我们知道
params
拦截器将数据从请求参数移动到ValueStack
. 现在在阅读时,我遇到了这样一句话:“工作的棘手部分是将参数的名称映射到ValueStack
.params
表达式以在 ValueStack 上定位正确的目标属性”。问题1)在这里,“解释”是什么意思?是 params 拦截器将请求参数转换为一些 OGNL 表达式,然后 OGNL 表达式提供到 ValueStack 中属性的映射,还是意味着其他什么?
当结果开始其呈现过程时,Struts 2 标记通过使用 OGNL 表达式引用特定值从 ValueStack 中检索数据。
问题2)所以标签采用OGNL表达式,但是数据是如何移动的?早些时候,
params
拦截器是移动数据的那个,但现在没有params
拦截器。那么数据是如何被移动的呢?
c# - c#将2个文本框保存到列表框并处理每个信息
你好,我正在研究我的学校项目“轮盘赌”,但我被卡住了,不知道如何继续,atm 它只需要一个赌注。
我通过两个文本框制作了投注系统,您可以在其中输入投注数量和价格,然后单击按钮转到标签。
但它只适用于一个赌注,有没有意见如何进行更多赌注,例如使用列表框等?我需要保存两个值,一个是数字,第二个是下注值。例如。我想玩,我会选择数字 1 并下注 20 欧元,2 并下注 15 欧元,以及 3 并下注 30 欧元。现在我需要将此信息保存在可以与他们一起工作的地方,例如 1 次胜利,因此 20 欧元将是 *36。
您对如何实现这一点有任何想法吗?我想到了两个列表框,一个用于数字,第二个用于下注。但不知道如何连接这些值。
java - Jsp Struts2中Action类的调用函数
我有一个小场景。我有两个 POJO 类和两个表User
和Domain
(表的名称相同)。每个用户将属于一个且仅一个域。
我有两个动作类,一个是UsersManagemntAction
,另一个是DomainsManagementAaction
。我UsersManagemntAction
用来执行与用户相关的 CRUD 操作。在我的User
课堂上,我有一个属性domainId
。该属性将包含用户所属id
的。Domain
我的问题是,当我在 jsp 页面中显示用户信息时,我会显示domainId
用户信息。这是因为用户对象将具有domainId
. 而不是显示domainId
我想显示域名。我无法执行连接查询。我应该解决这个问题,当我显示用户信息时,我在用户管理操作类中调用一个函数,将其传递domainId
给该函数。该函数执行搜索Domain
表并返回域名。这个解决方案不起作用,因为我没有找到任何传递domainId
给该函数的方法。我可以调用UsersManagemntAction
类的函数但无法通过domainId
。请帮助我或以其他方式向我建议替代解决方案。
下面是 JSP 页面和User
类的代码。
JSP:
用户.java:
spring - Struts 2 和 valueStack
我对 Struts 2 中的值堆栈有疑问。
假设我有一个名为“文章”的对象,我可以在这篇文章中上传一些照片。
像这样的输入:
我填写第一个文件(file1)并提交操作。然后我浏览另一个动作并决定上传另一张照片。在同一个 JSP 中,我填写第二个文件 (file2) 并提交。
问题是在第二次提交中,在动作中,我收到了file2和file1!
当第一个动作调用完成时 valueStack 不应该删除 file1 吗?我收到方法错误:
因为照片看不懂。。
在使用拦截器完成操作后,我必须自己清理值堆栈吗?
java - 将 Struts2 选择标记设置为来自请求对象的变量
我想将 Struts2select
标记设置为request
对象中的变量,而不是动作类变量。
我的行动课是:
我的 JSP 页面:
我想将repTypeList
请求对象设置为select
标记。当我使用list="%{repTypList}"
或list="repTypList"
然后
我收到错误:
当我使用list="#{repTypList}"
它时,它正在工作,但组合选项中没有显示任何值,甚至列表中的值也是如此。
java - 我应该在哪里为 Struts2 中的参数提供 getter 和 setter?
我是 Struts2 的新手,我刚刚意识到,每当我通过 JSP 页面的形式调用动作类时,我需要为被调用的动作类中的所有参数设置 getter 和 setter 来访问参数,如下面的动作类所示:
但是,我还有一个用于 User 的 POJO 类,它具有相同的 2 个属性及其 getter 和 setter。有没有办法可以在我的动作类中使用这些 getter/setter?现在,我的 POJO 和动作类中都有 getter 和 setter。任何人都可以帮助如何消除这种冗余?