我是Java Web Development的新手,遇到了一些困难。
我有一项任务,我必须创建一个显示XML文件内容的JSP页面。我创建了一个Java应用程序,它解析XML文件并将其发送到一个完美运行的txt文件。 ReadXml显示如下,有一个类Item,它是一个getter和setter以及ParseXml,但是它们按照希望运行。
package xml.reader;
import java.util.List;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;
import xml.reader.Item;
public class ReadXml {
public static void main(String args[]) throws FileNotFoundException{
File file = new File("PageOutput.txt");
FileOutputStream fos = new FileOutputStream(file);
PrintStream ps = new PrintStream(fos);
XmlParser read = new XmlParser();
List<Item> readConfig = read.readConfig("UnderMaintenanceConfig.xml");
for (Item item : readConfig)
{
System.setOut(ps);
System.out.println(item);
}
}
}
我也能够在我的JSP页面中显示txt文件,这是一种迂回的方式,但这是分配的要求。这意味着当对XML文件进行更改时,它应该过滤到.txt文件,然后更改应显示到JSP页面。下面显示了我的JSP页面:
<%@page import ="java.io.*" %>
<%@page import ="java.util.List" %>
<%@page import ="xml.reader.ReadXml" %>
<%@page import ="xml.reader.Item" %>
<%@page import ="xml.reader.XmlParser" %>
<%@page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>HoldingPage</title>
</head>
<body>
<jsp:useBean id="test" class="xml.reader.ReadXml" />
<%
ReadXml a = new ReadXml();
a.main(null);
%>
<%
InputStreamReader in = new InputStreamReader(new FileInputStream("C:\\workspace\\WS\\HoldingPage\\PageOutput.txt"));
BufferedReader br = new BufferedReader(in);
String line = br.readLine();
while(line!=null){
out.println(line);
line = br.readLine();
out.println("<br>");
}
%>
</body>
</html>
我搜索了资源以找到解决方案,但没有成功,我希望我能得到一些关于如何使用JSP页面调用java类的答案,本质上我希望我的页面在加载时执行ReadXml以便加载最新版本的XML文件和txt文件。
提前感谢您的帮助!
答案 0 :(得分:2)
public class ReadXml {
public void doSomeThing(){
File file = new File("PageOutput.txt");
FileOutputStream fos = new FileOutputStream(file);
PrintStream ps = new PrintStream(fos);
XmlParser read = new XmlParser();
List<Item> readConfig = read.readConfig("UnderMaintenanceConfig.xml");
for (Item item : readConfig)
{
System.setOut(ps);
System.out.println(item);
}
}
}
您可以调用函数。将main方法更改为函数并使用如下。
<%
ReadXml a = new ReadXml();
a.doSomeThing();
%>