2012-01-03 2 views
1

У меня есть класс с именем Language с 1 полем с именем name. У меня есть другой класс с именем Speech, у которого есть член language. Мне нужно перебрать список из Speech объектов. В JSTL:Как перебирать объект по списку объектов в JSTL?

<c:forEach items="${requestScope.Speech}" var="speech"> 
    <tr> 
    <td>&nbsp;${speech.id}</td> 
    <td>&nbsp;${speech.language.name}</td> 
    </tr> 
</c:forEach> 

Мой второй оператор ${speech.language.name} не работает. Как я могу заставить его работать?

Речевые и языковые классы:

public class Speech { 
    private int id; 
    private Language language=null; 

    public int getId() { 
     return id; 
    } 
    public void setId(int id) { 
     this.id = id; 
    } 
    public Language getLanguage() { 
     return language; 
    } 
    public void setLanguage(Language language) { 
     this.language = language; 
    } 
} 

public class Language { 
    private String name; 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 
} 
+0

Что это значит, «не работает»? Не могли бы вы приложить след исключения? Не могли бы вы также разместить здесь свои занятия «речь» и «язык»? –

+0

Можете ли вы опубликовать код своего класса 'Speech' и' Language'? –

+0

Пожалуйста, укажите код для класса Language. Есть ли действительный getter для поля имени? Есть ли действительный getter, например класс Language в классе Speech? – Artem

ответ

2

Убедитесь, что ваш Speech класс имеет метод public Language getLanguage() определен.

2

JSP EL не использует поля. Он использует свойства. Для того, чтобы это заявление работало, вы должны иметь общедоступный метод getLanguage() в Speech и общедоступный метод getName() в Language.

EDIT:

Если добытчики есть, и ничего не печатаются, это может иметь четыре причины:

  • нет Speech атрибута в запросе
  • есть список Выступления в атрибуте запроса речи, но этот список пуст
  • Язык каждого Речь о списке 0:
  • имя каждого языка - nu ll или blank.

Если что-то напечатано для идентификатора речи, это устраняет первые две причины.

Смежные вопросы