我有以下表格
public class myForm
{
private String code; (getter and setter)
private Map<String, Map<String, Object>> map(getter and setter)
}
我可以轻松填写代码属性,但我不知道如何继续填充地图,我甚至不知道它是否可能......
这是我的Spring表格
<form:form commandName="myForm" action="${PostUrl}" method="POST" >
<input type="hidden" path="code" value="78967" />
<input type="submit" value="Submit"/>
</form:form>
我将知道第一张地图的关键字,我将知道第二张地图的关键字,用户只会输入第二张地图的值。
为了尽可能清楚,这里是java,我希望用我的表单
Map<String, Map<String, Object>> map1 = new HashMap<String, map<String,
Object>>();
Map<String, Object> map2 = new HashMap<String, Object>();
map2.put("DatePickerLabel", DatePickedByTheUser)
map1.put("DATEPICKER", map2)
答案 0 :(得分:0)
因为有最好的选择,你可以在内部bean的帮助下完成。
public class myForm
{
private String code; (getter and setter)
private Map<String,InnerBeanObject> map(getter and setter)
}
如果你正在使用内部bean,你可以做一个setter注入来填充你的
Map<String, Object>
如果您使用的是xml bean配置
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="MyFormBean" class="Myform">
<property name="code" >
<property name="map">
<map>
<entry key="Key " value-ref="innerBean"></entry>
</map>
</property>
</bean>
<bean id="innerBean" class="InnerBean">
<property name="InnerBeanMap">
<map>
//get ur bean map key and value
</map>
</bean>
</beans>
如果你使用早期版本的spring.by注释 @bean
,你也知道java代码也有类似的方法。