私はこれを簡単に考えていただろうが、そうではないようだ。
目的:ArgCHeck.sh
.jspファイルを介してシェルスクリプトを実行しています。これは正常に機能し、システムコンソールに出力が表示されます。
ただし、HTMLを介してブラウザに行を出力しようとすると、機能しないようです。
文字列をに設定しようとしましたがStatic final String line = "test";
、これは単語testを出力するために機能しますが、他の文字列行からの必要な値ではありません。
それはおそらく私が見逃したものですが、どんな助けでもありがたいです。
<%@page import="java.io.*"%>
<%@page import="java.util.*"%>
<%!
%>
<%
Runtime r=Runtime.getRuntime();
Process p=null;
String s=null;
String cmd="/tools/scripts/ArgCheck.sh orange";
p=r.exec(cmd);
InputStreamReader isr=new InputStreamReader(p.getInputStream());
BufferedReader br=new BufferedReader(isr);
String line = null;
while((line = br.readLine()) != null){
System.out.println(line);
}
p.waitFor();
System.out.println(p.exitValue());
%>
<html>
<head/>
<body>
<%
// This scriptlet generates HTML output
out.println( String.valueOf( line ));
%>
</body>
</html>
- - - - - - - - - - - - - - 編集 - - - - - - - - - - - -------------------------------
カットアンドペーストすると、それが得られます。私はコードを読みました、そしてそれは明白でした。休憩の時間。
<%@page import="java.io.*"%>
<%@page import="java.util.*"%>
<html>
<head>
<head/>
<body>
<%
Runtime r=Runtime.getRuntime();
Process p=null;
String s=null;
String cmd="/tools/scripts/ArgCheck.sh";
p=r.exec(cmd);
InputStreamReader isr=new InputStreamReader(p.getInputStream());
BufferedReader br=new BufferedReader(isr);
String line = null;
while((line = br.readLine()) != null){
out.println(line);
}
p.waitFor();
%>
</body>
</html>