Struts2: обновление значений «списка объектов» внутри карты

Есть объектObjectA который имеет списокObjectB, СуществуетTreeMap внутриObjectB, ЭтотTreeMap имеетString в качестве ключа иList другого объектаObjectC как ценность. ЭтотTreeMap иlist внутри было отображено наjsp с помощьюs:iterator а такжеs:textfield и это отображается правильно. то есть "значения" внутри текстового поля s: являются правильными. Теперь проблема возникает при изменении текстового поля. Как мы фиксируем измененные значения внутри ObjectC в классе действий? С приведенным здесь кодом ключ ("Key1") входит в действие, но значение равно нулю.

Java-код

public class ObjectA implements Serializable {
private Integer attr1;
private List<ObjectB> objB;
//...getters and setters....
public class ObjectB implements Serializable {
private Integer attr11;
private TreeMap<String,List<ObjectC>> allPlainFields;
// ...getters and setters....
public class ObjectC implements Serializable {
private Integer attr111;
public String attr112;
// ...getters and setters....

Код JSP

<s:iterator value="objA.objB" var="currentObjB" status="currentGroupStatus">

  <s:iterator value="#currentObjB.allPlainFields" var="parentMap" status="headerStatus">
     <s:iterator value="#parentMap.value" var="fieldList" status="fieldStatus">

       <s:textfield  name="objA.objB[%{#currentGroupStatus.index}].allPlainFields['%{#parentMap.key}'][%{#fieldStatus.index}].attr112"/>


</s:iterator>                       

 </s:iterator> 

HTML отображается: <input type="text" id="review-act1_objA_objB_0__allPlainFields_'Key1'__6__attr112" value="Correct Value" name="objA.objB[0].allPlainFields['Key1'][0].attr112">

Структура объекта в представлении «Затмение» в представлении «VAriables»:

objA    Object A  (id=955)  
objB    ArrayList<E>  (id=966)  
    elementData Object[10]  (id=967)    
        [0] ObjectB  (id=968)   
            allPlainFields  TreeMap<K,V>  (id=972)  
                comparator  null    
                descendingMap   null    
                entrySet    TreeMap$EntrySet  (id=979)  
                keySet  null    
                modCount    1   
                navigableKeySet null    
                root    TreeMap$Entry<K,V>  (id=980)    
                size    1   
                values  null    

        [1] ObjectB  (id=969)   
        [2] ObjectB  (id=970)   
        [3] ObjectB  (id=971)   
        [4] null    
        [5] null    
        [6] null    
        [7] null    
        [8] null    
        [9] null    
    modCount    4   
    size    4   

**** В представлении Eclipse «Variables» значение для allPlainFields равно **: ** {Key1 =}

EDIT (27-Feb-2013):

Пробовал это, но не сработало. Значения появляются на jsp, но при отправке они не вступают в действие:

ВAction класс:

private TreeMap<String,ObjectCList> testTreeMap = new TreeMap<String,ObjectCList>();
//get,set and setting two keys in map "mykey1" and "mykey2"

ВObjectCList класс:

private ArrayList<ObjectC> paramMdlList;
 //default constructor, get, set

ВJSP:

<s:form id="test-map" method="post">
<s:iterator value="testTreeMap" var="pMap" status="hStatus">
     <li><label><s:property value="%{#pMap.key}" /></label> 
        <s:iterator value="%{#pMap.value.paramMdlList}" var="pList" status="innerStatus">
            <s:textfield name="testTreeMap['%{#pMap.key}'].paramMdlList[%{#innerStatus.index}].attr111"/>
            <s:textfield name="testTreeMap['%{#pMap.key}'].paramMdlList[%{#innerStatus.index}].attr112"/> 

        </s:iterator>


    </li>

</s:iterator>
<s:submit value=" " type='button' id="btnh1" action="saveTreeMap">
            <span>Save TreeMap</span>
</s:submit>
</s:form>

Когда форма отправлена,updateTreeMap методaction называется. Карта напечатана как упомянутоВот :

public String updateTreeMap(){

    for (Map.Entry<String, ObjectCList> entry : testTreeMap.entrySet())
    {
        System.out.println(entry.getKey() + "/" + entry.getValue());
    }

    return SUCCESS;

}

Что такое «напечатано»: mykey1 / mykey2 / т.е.нулевые значения

На экране ниже показаны значения в формате jsp

Ответы на вопрос(2)

Ваш ответ на вопрос