数组作为隐藏变量

问题描述 投票:0回答:3

数组可以用作struts上的隐藏变量......就像我有一个表单,即一个简单的java 类,我希望它作为隐藏变量我可以做到吗..

提前致谢

struts
3个回答
4
投票

HTTP请求参数只能是字符串。因此,您要么必须将其转换为单个字符串(可能是逗号分隔的字符串?),但您需要自己将其转换回来,要么必须使用多个隐藏的输入值(全部具有相同的名称),这通常是一个很大的问题。更好的解决方案。在普通的 JSP/Servlet 中,您可以使用

HttpServletRequest#getParameterValues()
取回它们,而 Struts 足够聪明,可以看到这一点。

<logic:iterate id="foo" name="bean" property="arrayOrList">  
    <html:hidden name="paramName" property="propertyName" indexed="true" />  
</logic:iterate>  

0
投票

只需编写具有相同名称和不同值的多个隐藏元素即可。 struts 会发现它应该是一个数组


0
投票

除此之外还同意 BalusC 你可以尝试以下

在名称末尾添加 [] ,保持名称和属性相同并添加多个值。 例如

<html:hidden name="name1[]" property="status" value="value1" />
<html:hidden name="name1[]" property="status" value="value2" />
<html:hidden name="name1[]" property="status" value="value3" />
© www.soinside.com 2019 - 2024. All rights reserved.