我本来会直截了当地这么想的,但事实并非如此。
目标:我正在ArgCHeck.sh
通过我的 .jsp 文件运行一个 shell 脚本。这工作正常,我可以在我的系统控制台中看到输出。
但是,当我尝试通过 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>