title: Thymeleaf iteration over list of objects
body: <p>I have a problem, while I am iterating over a list of object in Thymeleaf.
  Here is my HTML:</p>
  
  <pre><code>&lt;input th:each="a,iterStatus : currentQuestion.answers" type="radio" name="answer" th:text="${a.answer}" th:value="${iterStatus.index}"&gt;&lt;/input&gt;
  </code></pre>
  
  <p>Here is Controller class:</p>
  
  <pre><code>@RequestMapping(value={ "/exam", "/exam/" }, method = RequestMethod.GET)
  public String exam(Model model){
  
      if (!sessionPreferences.isExamStarted()){
          sessionPreferences.setQuestionList(questionService.list(Questions.findAll().paginate(0, 5).loadWith("answers")));
          sessionPreferences.setCurrentQuestion(questionService.uniqueObject(Questions.findAll().withId(1L).loadWith("answers")));
      }
      model.addAttribute("currentQuestion", sessionPreferences.getCurrentQuestion());
      sessionPreferences.setExamStarted(true);
      System.out.println("TRUE!");
      System.out.println(sessionPreferences.getCurrentQuestion().getAnswers().size());
      System.out.println(sessionPreferences.getCurrentQuestion().getAnswers().get(0));
      return "exam";
  }
  </code></pre>
  
  <p>Here is SessionPreferences class:</p>
  
  <pre><code>@Component
  @Scope(value="session", proxyMode = ScopedProxyMode.TARGET_CLASS)
  public class SessionPreferences implements Serializable {
  
  private static final long serialVersionUID = -3875093750700352970L;
  
  @Setter
  private String displayName;
  
  @Setter @Getter
  private Question currentQuestion;
  
  @Getter @Setter
  private boolean examStarted;
  
  @Getter @Setter
  private Map&lt;Question, Integer&gt; selections = new LinkedHashMap&lt;Question, Integer&gt;();
  
  @Getter @Setter
  private List&lt;Question&gt; questionList = new ArrayList&lt;Question&gt;(5);
  
  
  public String getDisplayName() {
      if(StringUtils.isBlank(displayName)){
          displayName = SecurityUtils.getLoggedUsername();
      }
      return displayName;
    }
  }
  </code></pre>
  
  <p>And we have Question model class:</p>
  
  <pre><code>@Entity
  @Table(name = "questions")
  public class Question extends BaseEntity&lt;Long&gt; {
  
  private static final long serialVersionUID = -7066617446892759711L;
  public static final int DESCRIPTION_MAX_LENGTH = 5120;
  public static final int OPTIONS_MAX_LENGTH = 4 * 5120;
  
  public Question() {
  };
  
  public Question(String questionDescription, List&lt;Answer&gt; answers) {
      this.questionDescription = questionDescription;
  };
  
  @Id
  @GeneratedValue
  @Getter
  @Setter
  private Long id;
  
  @Getter
  @Setter
  @Column(length = DESCRIPTION_MAX_LENGTH, nullable = false, name = "question_description")
  private String questionDescription;
  
  @Getter
  @Setter
  @OneToMany(mappedBy = "question", targetEntity = Answer.class, cascade = CascadeType.ALL)
  private List&lt;Answer&gt; answers = new ArrayList&lt;&gt;();
  
  @Getter
  @Setter
  @Column(nullable = false, name = "correct_answer_id")
  private Answer correctAnswerIndex;
  }
  </code></pre>
  
  <p>And the Answer class:</p>
  
  <pre><code>@Entity
  @Table(name="answers")
  public class Answer extends BaseEntity&lt;Long&gt;{
  
  private static final long serialVersionUID = -6119650375719671237L;
  
  public Answer(){};
  
  public Answer(String answer){
      this.answer = answer;
  };
  
  @Id
  @GeneratedValue
  @Getter @Setter
  private Long id;
  
  @Getter @Setter
  private String answer;
  
  @ManyToOne
  @JoinColumn(name = "question_id", updatable=false)
  @Getter @Setter
  private Question question;
  </code></pre>
  
  <p>}</p>
  
  <p>DAO layer and Service layer work fine, so it's a problem in accessing String answer in Answer object while iterating using Thymeleaf.</p>
  
  <p>I have following error:</p>
  
  <pre><code>SEVERE: Servlet.service() for servlet [spring] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "a.answer" (exam:99)] with root cause
    org.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 2): Field or property 'answer' cannot be found on object of type 'java.lang.String'
  </code></pre>
  
  <p>Any ideas???</p>
  
  <p>P.s Three syso resulted in: TRUE!, 4, Object..</p>