0

Eclipse で動的 Web プロジェクトを作成した後、JavaBean クラスをいくつか作成し、クラスごとに XML を返す JSP ファイルを作成しました。

そのような:

豆:

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 です。ここで、次の構造のように、配列も含む XML を受け取るように bean/jsp ファイルを変更したいと思います。

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

bean/jsp を変更する方法についてアドバイスをいただけますか?

4

1 に答える 1

3

ProgramList.だけを含む別の Bean を作成する必要があると思います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 に答える