gpt4 book ai didi

java - Struts2从JSP发送列表数据到Action类: alternative way

转载 作者:太空宇宙 更新时间:2023-11-04 14:35:05 25 4
gpt4 key购买 nike

我正在向一位同事解释如何使用索引从 JSP 页面获取列表数据返回到操作类,如所解释的 herehere 。他不太明白,自己摸索了一下,直到他突然完全不使用索引就成功了!

在他的 JSP 页面中,他有:

<input type="checkbox" name="contactNameList" value="someValue1">
<input type="checkbox" name="contactNameList" value="someValue2">
<input type="checkbox" name="contactNameList" value="someValue3">
<input type="checkbox" name="contactNameList" value="someValue4">

在他的 Action 课中,他有“适当的”二传手:

public List<String> getContactNameList()

public void setContactNameList(List<String> list)

我很困惑为什么这个有效。我认为这是可行的,因为他正在发送非 bean 数据(在本例中为字符串),并且 Struts2/OGNL 中有一个智能内置功能,可以将值附加到列表而不是覆盖他们。

有人可以详细解释一下这个“无索引”案例的幕后真相吗?字符串列表是如何实例化并用上面的片段填充的?

最佳答案

您应该了解 bean 数据而不是 bean 数据作为参数传递给操作。如果您实现 ParameterAware,您就可以找到参数的结构。

Note that all parameter values for a given name will be returned, sothe type of the objects in the map is java.lang.String[].

然后,XWork 类型转换会尽力将此映射转换为 beans 属性。请参阅Built in Type Conversion Support .

Routine type conversion in the framework is transparent. Generally,all you need to do is ensure that HTML inputs have names that can beused in OGNL expressions. (HTML inputs are form elements and otherGET/POST parameters.)

在没有索引的情况下,参数映射在一个键下,而不是在它们自己的名称下使用索引名称。

关于java - Struts2从JSP发送列表数据到Action类: alternative way,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25691464/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com