Struts2: Actualización de los valores de una "Lista de objetos" dentro de un mapa

Hay un objetoObjectA que tiene una lista deObjectB. Hay unTreeMap dentro deObjectB. EstaTreeMap tiene unString como llave y unList de otro objetoObjectC como valor. EstaTreeMap y ellist dentro se ha mostrado en eljsp utilizando las:iterator ys:textfield y se está mostrando correctamente. es decir, los "valores" dentro del campo de texto s: son correctos. Ahora, el problema surge cuando se modifica el campo de texto. ¿Cómo capturamos los valores modificados dentro de ObjectC en la clase de acción? Con el código dado aquí, la clave ("Clave1") aparece en la acción pero el valor es nulo.

Código 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....

Código 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 renderizado: <input type="text" id="review-act1_objA_objB_0__allPlainFields_'Key1'__6__attr112" value="Correct Value" name="objA.objB[0].allPlainFields['Key1'][0].attr112">

La estructura del objeto en la vista "VAriables" de eclipse muestra:

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   

**** En la vista "Variables" de Eclipse, el valor para allPlainFields es **: ** {Key1 =}

EDITAR (27-Feb-2013):

Intenté esto pero no funcionó. Los valores aparecen en jsp pero cuando se envían, no entran en acción:

EnAction clase:

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

EnObjectCList clase:

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

EnJSP:

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

Cuando se envíe el formulario,updateTreeMap método de laaction se llama. El mapa se imprime como se mencionó.aquí :

public String updateTreeMap(){

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

    return SUCCESS;

}

Lo que está "impreso": mykey1 / mykey2 / i.e.valores nulos

La siguiente pantalla muestra los valores que vienen en jsp

Respuestas a la pregunta(2)

Su respuesta a la pregunta