Java 在struts2中的同一隐藏变量中传递多个相同类型的值
首先,我使用struts2、java和javascript来完成我的工作。我已将问题概述如下 我的页面上有下表-Java 在struts2中的同一隐藏变量中传递多个相同类型的值,java,jquery,struts2,struts,Java,Jquery,Struts2,Struts,首先,我使用struts2、java和javascript来完成我的工作。我已将问题概述如下 我的页面上有下表- ___________________________ checkbox | phone | Name --------------------------- [] | 123-456 | abcde [] | 234-567 | testname ____________________________ (这是一个提纲,但请跟我说)
___________________________
checkbox | phone | Name
---------------------------
[] | 123-456 | abcde
[] | 234-567 | testname
____________________________
(这是一个提纲,但请跟我说)
该表的代码如下所示:
很明显,当我勾选复选框时,我将电话号码作为值传递。
问题是,我也想传名字
我知道我们可以用连字符之类的东西把它和电话号码一起传递
假设我有另一个变量ArrayList hiddenName
,我想填充与该变量中勾选复选框对应的名称。(我通过s:hidden
参数思考)
如果听起来有点困惑,我很抱歉,但请帮忙 显然,您只能在任何给定表单字段中传递单个值 您有许多选项,从简单的–使用字符串并将其拆分以获取两个值,通过中间–传递ID并在Java中检索适当的值,到复杂的–自定义类型转换 哪一个最有意义很大程度上取决于数据的位置、数据的方式等等
不相关,但我发现JSP很难阅读。我会进行大量的重构。以下内容未经测试,但更接近我在代码审查后的预期
有几点值得注意:
- 决定是否显示用Java封装的组的逻辑。也使测试更容易
- 迭代对象的合理、较短的名称:它是一个组(或组)
- 提取(电话号码| |组ID)值,消除一堆JSP标记
- (理想情况下,该逻辑将隐藏在Java中,或者隐藏在VO中,或者隐藏在装饰器中。)
- 迭代器标记将迭代对象推送到值堆栈上,无需直接按名称引用它。这个有点不确定;这取决于你的需要
- 在现实生活中,我可能会将整个组放入一个单独的JSP或自定义标记中