在用struts2的ognl语言编写的jsp中如何对iterator循环中的textfield取值

在Struts2的JSP页面使用OGNL语言时,遇到通过iterator循环获取cartItemList中cartItem数量的问题。文章描述了尝试通过name属性、split方法以及最后的解决策略,即注意字符串拼接时的空格问题,来正确获取并计算textfield中的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在用struts2的ognl语言编写的jsp中如何对iterator循环中的textfield取值

记录一下在做架构实验时遇到的一个比较头疼的问题。背景是一个购物车场景,前端jsp中通过s:iterator循环获取cartItemList中的cartItem,其中数量是通过s:textfiled来展示,编写updateAction实现对文本框中的内容取值,计算总金额。

最开始的方法

一开始主要是考虑在s:textfield中加name属性,在action中通过写get()、set()方法来获取每一个循环中的值,再在Action里面对获取到的字符串进行格式转化来计算。
在这里插入图片描述
hhh这样肯定是不行的啦,可能当时脑子秀逗了才这么写的,这种写法根本不可能实现预期功能。当时可能觉得jsp那边是循环,action这边也是写在循环里面的,应该是一一对应计算的哈哈哈哈T T
运行的时候看到了报错信息,发现获取到的字符串和想要的相差甚远,比如我第一个商品的数量是1,第二个商品的数量是2,然后他报错的内容是这个:
在这里插入图片描述
然后就发现,原来我们直接用get、set方法在循环中的输入框里获取到的字符串,程序会直接帮我们自动拼接起来,于是想到用字符分割的方法来进行取值。

用split语句进行字符串分割

因为之前看到了程序报错返回的获取到的字符串信息,发现是用‘ , ’来进行拼接的,于是之后就用split语句来实现字符串的分割:

String[] q = Q.split(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值