2012-10-10 59 views
0

我會認爲這是直截了當的,但似乎並不是這樣。如何輸出jsp var到html

目標:我通過我的.jsp文件運行一個shell腳本ArgCHeck.sh。這工作正常,我可以看到我的系統控制檯中的輸出。

但是,當我嘗試通過HTML輸出到瀏覽器的行,它似乎不工作。

我已經嘗試將字符串設置爲Static final String line = "test";,這可以輸出單詞測試,但不是我想要的值來自另一個String行。

它可能是我錯過的東西,但任何幫助都很感激。

<%@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> 

回答

0

在這裏你去..只是改變文件路徑。

<%@page import="java.io.*"%> 
<%@page import="java.util.*"%> 
<%! 
private String runScriptFile(){ 
    String strRetVal = ""; 
    Runtime r=Runtime.getRuntime(); 
    Process p=null; 
    String s=null; 
    String cmd="D:\\test.bat"; 
    try{ 
     p=r.exec(cmd); 
     InputStreamReader isr=new InputStreamReader(p.getInputStream()); 
     BufferedReader br=new BufferedReader(isr); 
     String line = null; 
     while((line = br.readLine()) != null){ 
      strRetVal += line + "<br>"; 
      System.out.println(line); 
     } 
     p.waitFor(); 
    }catch(Exception e){ 
     e.printStackTrace(); 
    } 
    return strRetVal; 
} 
%> 
<% 
String line = runScriptFile(); 
%> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
    <title>Batch File Test</title> 
    <head/> 
    <body> 
<% 
    // This scriptlet generates HTML output 
    out.println(String.valueOf(line)); 
%> 
    </body> 
</html>