1

テキストエリア、プロパティ フィールド、送信ボタンを含む Web ページを Struts2.0 で作成したいと考えていました。ユーザーがこのテキスト領域に Java コードを入力すると、私のコードがそれをコンパイルして実行し、このコードの結果をプロパティ フィールドに表示します...上記のコードは、スタンドアロン アプリケーションで正常に動作します。しかし、私のWebアプリケーションには何も表示されません。誰でも対処できます...よろしくお願いします。

package org.controller;

import com.opensymphony.xwork2.ActionSupport;

import java.io.BufferedReader;

import java.io.File;

import java.io.FileOutputStream;

import java.io.InputStreamReader;



public class JCompilerAction extends ActionSupport 
{


String program;

String MSg;
public JCompilerAction() {
}
public String getProgram() {
    return program;
}
public void setProgram(String program) {
    this.program = program;
}
public String getMSg() {
    return MSg;
}
public void setMSg(String MSg) {
    this.MSg = MSg;
}
public String Compile() {
    try {
        byte[] bFile = program.getBytes();
        File f = new File("D:/nullprog.java");
        FileOutputStream fileOuputStream = new FileOutputStream(f);
        fileOuputStream.write(bFile);
        fileOuputStream.close();
        Process p1 = Runtime.getRuntime().exec("javac  D:/nullprog.java");
        BufferedReader in = new BufferedReader(new InputStreamReader(p1.getErrorStream()));
        String line = null;
        boolean isError = false;
        while ((line = in.readLine()) != null) {
            MSg = line;
            isError = true;
            return SUCCESS;
        }
        p1.waitFor();
        if (!isError) 
        {
            Process p2 = Runtime.getRuntime().exec("cmd /c start nullprog");
            BufferedReader in1 = new BufferedReader(new InputStreamReader(p2.getInputStream()));
            String line1 = null;
            while ((line1 = in1.readLine()) != null) {
                MSg += line1;
            }
            return SUCCESS;
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return SUCCESS;
}
public String execute() {
    return SUCCESS;
}
}
4

1 に答える 1