使用struts 2标记检索ArrayList的元素,而不使用s:iterate

Sha*_*shi 2 java tags jsp struts2

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";
    }

}

Run Code Online (Sandbox Code Playgroud)

来源代码问题.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;
    }
}

Run Code Online (Sandbox Code Playgroud)

在JSP中:

给定的陈述

 <s:property="list[0]"/>
Run Code Online (Sandbox Code Playgroud)

给出产出

com.test.Questions@32bf232e1

如何在不使用迭代器的情况下使用struts2标记获取值Question对象?

Tho*_*mas 8

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

或者<s:set name="question" value="list[0]"/>然后<s:property="#question.question"/>.