问题标签 [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.

0 投票
1 回答
1729 浏览

java - Struts2 ValueStack 如何处理多个请求

我知道ValueStack是在 Struts2 中引入的,Struts1 模型的另一个变化是现在ActionObject为每个请求实例化一个新的。所以我们可以定义实例变量而不用担心多线程问题。拦截器和 JSP 访问实例变量的ActionObjects方式是通过ValueStack. 但是实现方式ValueStack(或至少由 Struts2 框架使用)是由ValueStack. 使访问更容易,这样我们就不需要遍历整个对象树。我有以下问题。

  1. 如果我有嵌入对象(对象的多个层次结构)怎么办?在这种情况下,访问机制如何表现?

  2. 如果让我们说 2 个客户端同时向同一个 actin 发出请求,并且由于 2 个客户端提供的输入返回了 2 个不同的结果,Action 执行的结果是不同的。假设我的 Action Class 有一种获得最优价格的方法,并且基于我的后端服务中的逻辑,对于 2 个不同的请求,结果分别为 10 和 12。现在ActionClass有一个名为 price 的成员变量,该值将存储在其中,生成的 JSPshowResults.jsp将访问该变量(使用标签库)以显示价格。struts2 框架如何保证 client1 和 client2 得到正确的响应,并且在 JSP 上显示响应时价格不会混乱,因为据我了解ValueStack只是先进先出(堆栈逻辑)的方式。因此,它可能最终向两个客户端请求返回 10,因为相同的变量在值堆栈上存储了两次(具有相同的名称)但具有不同的值。

  3. 什么时候ValueStack从列表中销毁对象?

0 投票
0 回答
847 浏览

jakarta-ee - Struts2 拦截器后处理

我编写了自定义拦截器,并且在后处理时我想通过检查值堆栈上是否存在异常对象来添加 actionError/actionMessage。

如果结果是“错误”,我将重定向到 error.jsp

但 error.jsp 上没有显示任何内容

即使我正在尝试从拦截器中设置参数,例如

或者

并访问jsp上的参数,例如

但是没有效果我在jsp上仍然一无所获是因为对象的范围,因为当我在会话中设置变量时它工作正常。

我实施后处理的方法是错误的还是我遗漏了什么。

0 投票
1 回答
3409 浏览

java - 如何获取 Struts 2 迭代器中的值的总和?

我的应用是购物网站应用。在下订单的情况下,我需要将每个项目的价格总和作为一个参数传递。价格正确地到达迭代器。但我没能得到这些价格的总和。购物车列表来自另一个动作类。

我试过这个:

如果购物车列表有两个项目,这将显示两个标签。如何在迭代器中获得一个参数的总数?

0 投票
1 回答
1132 浏览

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}"?有什么我可能会丢失的吗?

0 投票
3 回答
1322 浏览

java - Struts 2 - 了解 OGNL 和 params 拦截器之间的工作

我是 Struts 2 的新手。我正在从 Struts2 In Action 一书中学习它。我很难理解 OGNL 中的一些概念,如下所示 -

  1. 我们知道params拦截器将数据从请求参数移动到ValueStack. 现在在阅读时,我遇到了这样一句话:“工作的棘手部分是将参数的名称映射到ValueStack.params表达式以在 ValueStack 上定位正确的目标属性”。

    问题1)在这里,“解释”是什么意思?是 params 拦截器将请求参数转换为一些 OGNL 表达式,然后 OGNL 表达式提供到 ValueStack 中属性的映射,还是意味着其他什么?

  2. 当结果开始其呈现过程时,Struts 2 标记通过使用 OGNL 表达式引用特定值从 ValueStack 中检索数据。

    问题2)所以标签采用OGNL表达式,但是数据是如何移动的?早些时候,params拦截器是移动数据的那个,但现在没有params拦截器。那么数据是如何被移动的呢?

0 投票
1 回答
53 浏览

c# - c#将2个文本框保存到列表框并处理每个信息

你好,我正在研究我的学校项目“轮盘赌”,但我被卡住了,不知道如何继续,atm 它只需要一个赌注。

我通过两个文本框制作了投注系统,您可以在其中输入投注数量和价格,然后单击按钮转到标签。

但它只适用于一个赌注,有没有意见如何进行更多赌注,例如使用列表框等?我需要保存两个值,一个是数字,第二个是下注值。例如。我想玩,我会选择数字 1 并下注 20 欧元,2 并下注 15 欧元,以及 3 并下注 30 欧元。现在我需要将此信息保存在可以与他们一起工作的地方,例如 1 次胜利,因此 20 欧元将是 *36。

您对如何实现这一点有任何想法吗?我想到了两个列表框,一个用于数字,第二个用于下注。但不知道如何连接这些值。

0 投票
1 回答
5184 浏览

java - Jsp Struts2中Action类的调用函数

我有一个小场景。我有两个 POJO 类和两个表UserDomain(表的名称相同)。每个用户将属于一个且仅一个域。

我有两个动作类,一个是UsersManagemntAction,另一个是DomainsManagementAaction。我UsersManagemntAction用来执行与用户相关的 CRUD 操作。在我的User课堂上,我有一个属性domainId。该属性将包含用户所属id的。Domain我的问题是,当我在 jsp 页面中显示用户信息时,我会显示domainId用户信息。这是因为用户对象将具有domainId. 而不是显示domainId我想显示域名。我无法执行连接查询。我应该解决这个问题,当我显示用户信息时,我在用户管理操作类中调用一个函数,将其传递domainId给该函数。该函数执行搜索Domain表并返回域名。这个解决方案不起作用,因为我没有找到任何传递domainId给该函数的方法。我可以调用UsersManagemntAction类的函数但无法通过domainId。请帮助我或以其他方式向我建议替代解决方案。

下面是 JSP 页面和User类的代码。

JSP:

用户.java:

0 投票
0 回答
125 浏览

spring - Struts 2 和 valueStack

我对 Struts 2 中的值堆栈有疑问。

假设我有一个名为“文章”的对象,我可以在这篇文章中上传一些照片。

像这样的输入:

我填写第一个文件(file1)并提交操作。然后我浏览另一个动作并决定上传另一张照片。在同一个 JSP 中,我填写第二个文件 (file2) 并提交。

问题是在第二次提交中,在动作中,我收到了file2和file1!

当第一个动作调用完成时 valueStack 不应该删除 file1 吗?我收到方法错误:

因为照片看不懂。。

在使用拦截器完成操作后,我必须自己清理值堆栈吗?

0 投票
2 回答
3691 浏览

java - 将 Struts2 选择标记设置为来自请求对象的变量

我想将 Struts2select标记设置为request对象中的变量,而不是动作类变量。

我的行动课是:

我的 JSP 页面:

我想将repTypeList请求对象设置为select标记。当我使用list="%{repTypList}"list="repTypList"然后

我收到错误:

当我使用list="#{repTypList}"它时,它正在工作,但组合选项中没有显示任何值,甚至列表中的值也是如此。

0 投票
1 回答
1324 浏览

java - 我应该在哪里为 Struts2 中的参数提供 getter 和 setter?

我是 Struts2 的新手,我刚刚意识到,每当我通过 JSP 页面的形式调用动作类时,我需要为被调用的动作类中的所有参数设置 getter 和 setter 来访问参数,如下面的动作类所示:

但是,我还有一个用于 User 的 POJO 类,它具有相同的 2 个属性及其 getter 和 setter。有没有办法可以在我的动作类中使用这些 getter/setter?现在,我的 POJO 和动作类中都有 getter 和 setter。任何人都可以帮助如何消除这种冗余?