Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在JSTL中的对象列表上迭代对象?_Java_Jstl - Fatal编程技术网

Java 如何在JSTL中的对象列表上迭代对象?

Java 如何在JSTL中的对象列表上迭代对象?,java,jstl,Java,Jstl,我有一个名为Language的类,其中有一个字段名为name。我还有一个名为Speech的类,它有一个language成员。我需要遍历Speech对象列表。在JSTL中: <c:forEach items="${requestScope.Speech}" var="speech"> <tr> <td>&nbsp;${speech.id}</td> <td>&nbsp;${speech.language

我有一个名为
Language
的类,其中有一个字段名为
name
。我还有一个名为
Speech
的类,它有一个
language
成员。我需要遍历
Speech
对象列表。在JSTL中:

<c:forEach items="${requestScope.Speech}" var="speech">
  <tr>
    <td>&nbsp;${speech.id}</td>
    <td>&nbsp;${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;
    } 
}