Получить элементы ArrayList с помощью тега struts 2 без использования s: iterate - PullRequest
2 голосов
/ 03 марта 2011

Исходный код LoginAction.java


package com.test;

import java.util.ArrayList;
import java.util.List;

public class LoginAction {

    private List list;

    public void setList(List list) {
        this.list = list;
    }

    public List getList() {
        return list;
    }

    public String execute() {

        list = new ArrayList();

        list.add(new Questions("Pet Name", "Junk"));

        list.add(new Questions("Nick Name", "Bunk"));

        list.add(new Questions("Real Name", "Hunk"));

        return "SUCCESS";
    }

}

Исходный код вопросов .java


package com.test;
public class Questions {

    private String question;
    private String answer;

    public Questions(String question, String answer) {
        // TODO Auto-generated constructor stub

        this.question = question;
        this.answer = answer;
    }

    public void setQuestion(String question) {
        this.question = question;
    }

    public String getQuestion() {
        return question;
    }
}

В JSP:

Заданные утверждения

 <s:property="list[0]"/>

выдайте выходные данные

com.test.Questions@32bf232e1

Как я могу получить значение объекта Question с помощью тега struts2 без использования итератора?

Ответы [ 2 ]

8 голосов
/ 03 марта 2011

Попробуйте <s:property="list[0].question"/>.

Или <s:set name="question" value="list[0]"/>, а затем <s:property="#question.question"/>.

0 голосов
/ 30 ноября 2015

Другой способ получить значение объекта Question - добавить этот тег:

<s:property value="list" />

И затем добавление метода toString в класс Questions.

...