在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吗?
答案 0 :(得分: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教程,请查找here。