0

在 Eclipse 中创建动态 Web 项目后,我创建了一些 JavaBean 类,并为每个类创建了一个 JSP 文件,该文件将返回一个 XML。

如:

豆子:

package com.beans;
public class Program {
    private String programID = "123";
    private String programName = "Morning show";
    private String startTime = "1365238800";
    private String endTime = "1365242400";
    public String getProgramID() {
        return this.programID;
    }
    public String getProgramName() {
        return this.programName;
    }
    public String getStartTime() {
        return this.startTime;
    }
    public String getEndTime() {
        return this.endTime;
    }
}

JSP:

<?xml version="1.0" encoding="ISO-8859-1"?>
<%@ page contentType="text/xml;charset=ISO-8859-1" %>
<jsp:useBean id="programXML" class="com.beans.Program"/>
<Program>
    <ProgramName><% out.print(programXML.getProgramID()); %></ProgramName>
    <ProgramType><% out.print(programXML.getProgramName()); %></ProgramType>
    <startTime><% out.print(programXML.getStartTime()); %></startTime>
    <endTime><% out.print(programXML.getEndTime()); %></endTime>
</Program>

服务器为请求返回以下示例http://localhost:8080/Project/Program.jsp

 <Program>
  <ProgramName>123</ProgramName> 
  <ProgramType>Morning show</ProgramType> 
  <startTime>1365238800</startTime> 
  <endTime>1365242400</endTime> 
  </Program>

这是我期望的 XML。现在,我想修改 bean/jsp 文件以接收包含数组的 XML,如下结构:

<ProgramList>
 <Program>
   ...
 </Program>
 <Program>
 ...
 </Program>
</ProgramList>

你能给我建议如何修改bean/jsp吗?

4

1 回答 1

3

我认为您应该创建另一个名为的 Bean ProgramList,其中仅包含一个ArrayList<Program>.

public class ProgramList {

  private ArrayList<Program> list;

  public ArrayList<Program> getList() {
    return this.list;
  }
  public void setList(ArrayList<Program> list) {
    this.list = list;
  }
}

然后您可以在您的 JSP 中使用 JSTL forEach 来打印程序列表。

<?xml version="1.0" encoding="ISO-8859-1"?>
<%@ page contentType="text/xml;charset=ISO-8859-1" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<jsp:useBean id="programList" class="com.beans.ProgramList"/>
<ProgramList>
  <c:forEach var="program" items="${programList.list}">
    <Program>
      <ProgramName>${program.programID}</ProgramName>
      <ProgramType>${program.programName}</ProgramType>
      <startTime>${program.startTime}</startTime>
      <endTime>${program.endTime}</endTime>
    </Program>
  </c:forEach>
</ProgramList>

如果您不熟悉它,请在此处查找JSTL 教程。

于 2013-04-06T11:47:31.117 回答