combo должно быть свойством вашего класса Action, и у вас должен быть метод getCombo()
, который возвращает коллекцию.Тогда значения будут отображены.
См. Пример, у меня есть класс с именем Song и действие с именем AlbumInfoAction
package vaannila;
public class Song {
private String title;
private String genre;
Song(String title, String genre)
{
this.title = title;
this.genre = genre;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getGenre() {
return genre;
}
public void setGenre(String genre) {
this.genre = genre;
}
}
package vaannila;
import java.util.ArrayList;
import java.util.List;
public class AlbumInfoAction{
private String title;
private Artist artist;
private static List<Song> songs = new ArrayList<Song>();
static {
songs.add(new Song("Thriller","Disco"));
songs.add(new Song("Beat It","Rock"));
songs.add(new Song("Billie Jean","Pop"));
}
public String populate()
{
title = "Thriller";
artist = new Artist("Michael Jackson","King of pop");
return "populate";
}
public String execute()
{
return "success";
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Artist getArtist() {
return artist;
}
public void setArtist(Artist artist) {
this.artist = artist;
}
public List<Song> getSongs() {
return songs;
}
}
Чтобы повторить, у меня должны быть песни как свойство класса действия и должен присутствовать метод getSongs .
Код JSP будет выглядеть следующим образом
<table class="songTable">
<tr class="even">
<td><b>Title</b></td>
<td><b>Genre</b></td>
</tr>
<s:iterator value="songs" status="songStatus">
<tr
class="<s:if test="#songStatus.odd == true ">odd</s:if><s:else>even</s:else>">
<td><s:property value="title" /></td>
<td><s:property value="genre" /></td>
</tr>
</s:iterator>
</table>
Надеюсь, это поможет.