Java 如何在JSTL中的对象列表上迭代对象?
我有一个名为Java 如何在JSTL中的对象列表上迭代对象?,java,jstl,Java,Jstl,我有一个名为Language的类,其中有一个字段名为name。我还有一个名为Speech的类,它有一个language成员。我需要遍历Speech对象列表。在JSTL中: <c:forEach items="${requestScope.Speech}" var="speech"> <tr> <td> ${speech.id}</td> <td> ${speech.language
Language
的类,其中有一个字段名为name
。我还有一个名为Speech
的类,它有一个language
成员。我需要遍历Speech
对象列表。在JSTL中:
<c:forEach items="${requestScope.Speech}" var="speech">
<tr>
<td> ${speech.id}</td>
<td> ${speech.language.name}</td>
</tr>
</c:forEach>
确保
Speech
类定义了公共语言getLanguage()
方法。确保Speech
类定义了公共语言getLanguage()
方法。JSP EL不使用字段。它使用属性。为了使该语句正常工作,您需要在Speech
中有一个公共方法getLanguage()
,在Language
中有一个公共方法getName()
编辑:
如果getter在那里,并且没有打印任何内容,则可能有四个原因:
- 请求中没有
属性Speech
- “语音请求”属性中有一个语音列表,但此列表为空
- 列表中每个语音的语言都为空
- 每种语言的名称都为null或空白
如果为语音ID打印了一些内容,则消除了前两个原因。JSP EL不使用字段。它使用属性。为了使该语句正常工作,您需要在
Speech
中有一个公共方法getLanguage()
,在Language
中有一个公共方法getName()
编辑:
如果getter在那里,并且没有打印任何内容,则可能有四个原因:
- 请求中没有
属性Speech
- “语音请求”属性中有一个语音列表,但此列表为空
- 列表中每个语音的语言都为空
- 每种语言的名称都为null或空白
如果为语音ID打印了内容,则会消除前两个原因。什么是“不工作”?你能附上一个异常跟踪吗?你能在这里发布你的课程“演讲”和“语言”吗?你能发布你的
演讲
和语言
课程的代码吗?请提供语言课程的代码。名称字段是否有有效的getter?在演讲课中是否有有效的语言类getter实例?它是什么意思,“不起作用”?你能附上一个异常跟踪吗?你能在这里发布你的课程“演讲”和“语言”吗?你能发布你的演讲
和语言
课程的代码吗?请提供语言课程的代码。名称字段是否有有效的getter?Speech类中是否有有效的语言类实例getter?
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;
}
}