如何在ActionBean中将我的HashMap映射到JSP上的表单?

时间:2013-02-08 05:47:35

标签: jsp hashmap stripes

我正在使用Stripes。我的Action bean有一个HashMap,它有id(String)和quantity(int)。在JSP上,我提交了一个Form,我要映射到HashMap的id和数量,以便表单上的所有id和数量都被“放入”HashMap中。我该怎么做?

我做过类似的事情 -

在ActionBean中(带有getter和setter) -

private Map<String, Integer> productVariantMap = new HashMap<String, Integer>();

在JSP上 -

<s:useActionBean
beanclass="com.hk.web.action.core.b2b.B2BAddToCartAction" var="atc"/>
<s:useActionBean>

我正在通过循环获取onsubmit中的值并将值设置为

 ${atc:productVariantMap.put(id, quantity)};
 or 
 $(atc.productVariantMap.put(id,quantity)};

这些都不起作用。建议我一种映射我的HashMap或根据我的要求添加这些值的方法。 感谢。

1 个答案:

答案 0 :(得分:2)

the documentation中对此进行了描述。在动作bean中为地图设置一个getter和setter,并在HTML表单中输入名为productVariantMap['foo']的输入字段(foo是地图的一个键)。

例如,包含以下输入字段的表单将使用1为键"foo"填充地图,为密钥"bar"填充2:

<input type="text" name="productVariantMap['foo']" value="1"/>
<input type="text" name="productVariantMap['bar']" value="2"/>