【问题标题】:Calling Main Method in Java Class From JSP从 JSP 调用 Java 类中的 Main 方法
【发布时间】:2015-02-10 14:18:37
【问题描述】:

我是 Java Web 开发的新手,遇到了一些困难。

我有一个任务,我必须创建一个显示 XML 文件内容的 JSP 页面。我创建了一个解析 XML 文件并将其发送到完美运行的 txt 文件的 Java 应用程序。 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 文件。

提前感谢您的帮助!

【问题讨论】:

  • 正确的方法是完全相反的方法。与其执行 JSP 并从 JSP 调用 Java 方法,正确的做法是调用 servlet,从 servlet 调用 Java 方法,将方法的结果存储在请求属性中,然后使用请求调度程序转发到 JSP。然后,JSP 将使用存储在请求属性中的结果来显示它。 JSP 中应该没有 scriptlet。

标签: java xml jsp web


【解决方案1】:
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();
%>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-26
    • 2013-11-28
    • 2014-04-29
    • 2016-02-06
    • 2014-08-25
    • 1970-01-01
    • 2012-09-28
    相关资源
    最近更新 更多