Как заполнить карту внутри карты внутри формы Spring? - PullRequest
0 голосов
/ 29 мая 2018

У меня есть следующая форма

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>

Я буду знать ключ первой карты, и я буду знать ключ второй карты, будет введено только значение второй карты.пользователем.

Чтобы попытаться быть как можно более ясным здесь, ява, что я хочу сделать с моей формой

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)

1 Ответ

0 голосов
/ 08 июня 2018

Поскольку есть лучший вариант, вы можете сделать это с помощью внутреннего боба.

public class myForm
{
private String code; (getter and setter)
private Map<String,InnerBeanObject> map(getter and setter)
}

И если вы используете внутренний боб, вы можете сделать инъекцию сеттера, чтобы заполнить ваш

Map<String, Object>

Если вы используете конфигурацию XML-компонента

    <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>

Существует аналогичный способ с использованием Java-кода, как вы знаете, если вы используете более раннюю версию Spring.by аннотации @ bean

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...