title: Struts 2 List of List access
body: <p>I wonder if someone can help.</p>
  
  <p>Background Architecture:</p>
  
  <p>I have an application which contians many areas which have many specific questions, where these questions contian progress </p>
  
  <p>So at a high-level view there can be many applications. A user is associated to maybe many applications.</p>
  
  <p>So I have a list of applications and I can quite easliy iterate my way through and get its relevant details. But when it comes to accessing each specific area to get question progress for some reason it does not work out form me.</p>
  
  <p>So here is logic I want:</p>
  
  <blockquote>
    <p>for the applications</p>
    
    <blockquote>
      <p>display its details</p>
      
      <blockquote>
        <p>for each area(applicaitonId)</p>
        
        <blockquote>
          <p>display each its completion progress</p>
        </blockquote>
      </blockquote>
    </blockquote>
  </blockquote>
  
  <p>so to translate to struts I have this</p>
  
  <pre><code>&lt;s:iterator id="app" value="appList" status="row"&gt;
  &lt;s:iterator id="qsp" value="questionProgessList[%{#row.index}]" status="status"&gt;
  </code></pre>
  
  <p>so <code>applist</code> is the list of all applications with its own getter/setter &amp;&amp; <code>questionSetProgress</code> is defined by:    </p>
  
  <pre><code>List&lt;ApplicationQuestionSetProgress&gt; getQuestionProgressList(final int index)
  </code></pre>
  
  <p>or
      List> getQuestionProgressList()</p>
  
  <p>So trying in many ways to access the list has proved futile I have tried:</p>
  
  <pre><code>&lt;s:iterator id="qsp" value="questionProgessList"&gt;
      &lt;s:property /&gt;
  &lt;/s:iterator&gt;
  </code></pre>
  
  <p>with this:</p>
  
  <pre><code>List&lt;List&lt;ApplicationQuestionSetProgress&gt;&gt; getQuestionProgressList()
  </code></pre>
  
  <p>but no joy</p>
  
  <p>I've also tried using the iterator index to call the method but it just does not work out.</p>
  
  <pre><code>List&lt;ApplicationQuestionSetProgress&gt; getQuestionProgressList(final int index)
  </code></pre>
  
  <p>i.e.</p>
  
  <p><code>&lt;s:iterator id="qsp" value="questionProgessList[%{#row.index}]" status="status"&gt; or     &lt;s:iterator id="qsp" value="questionProgessList(%{#row.index})" status="status"&gt;</code></p>
  
  <p>any hints or tips??</p>
  
  <p>TIA</p>