2013-08-20 79 views
-1

我有一個問題,當我desplay在JSP 我使用下面的代碼的處理:顯示處理

public ArrayList<String> getProcessusList(){ 

    ArrayList<String> ss=new ArrayList<String>(); 
    String st=""; 
try { 
     String line; 
     Process p = Runtime.getRuntime().exec 
       (System.getenv("windir") +"\\system32\\"+"tasklist.exe"); 
     BufferedReader input = 
       new BufferedReader(new InputStreamReader(p.getInputStream())); 
     while ((line = input.readLine()) != null) { 
      String[] se=line.split(" =\n"); 
      for(String sd:se){ss.add(sd);} 
     } 


     input.close(); 
    } catch (Exception err) { 
     err.printStackTrace(); 
    } 
return ss; 
} 

和JSP文件中的代碼是:

<body> 
    ArrayList <String>processArray=p.getProcessusList(); 
    <%for(String se:processArray){ 
    String []s=se.split(" "); 
    for(String sd:s){%><%=sd %>&nbsp;<% }%> <br><% } %> 


    </body> 

輸出:

enter image description here

但我想要一個格式更多的用戶friendl你能幫我嗎?

+0

使用等寬字體 – Henry

+0

@ofloflofl Henery的建議是比它好得多看來。但是,真的,你有很多問題。在「這個代碼非常不可移植」的時候停止批評是仁慈的。 –

+0

我想獲得相同的格式,當我在java類(控制檯)執行此代碼顯示 – ofloflofl

回答

1

我的解決辦法,一些硬代碼:

public ArrayList<String> getProcessusList(){ 

     ArrayList<String> ss=new ArrayList<String>(); 
     try { 
      String line; 
      Process p = Runtime.getRuntime().exec 
        (System.getenv("windir") +"\\system32\\"+"tasklist.exe"); 
      BufferedReader input = 
        new BufferedReader(new InputStreamReader(p.getInputStream())); 
      while ((line = input.readLine()) != null) { 
       String[] se=line.split(" =\n"); 
       for(String sd:se){ 
        String[] sa = sd.split("\\s\\s+"); 
        if (sa.length>1) 
         ss.add(sd); 
       } 
      } 
      input.close(); 
     } catch (Exception err) { 
      err.printStackTrace(); 
     } 
     return ss; 
    } 

JSP文件:

<% 
ArrayList<String> processArray=p.getProcessusList(); 
%> 
<table border="1" cellspacing="0"> 
    <thead> 
     <tr> 
      <% 
      String se = processArray.get(0); 
      String[] sa = se.split("\\s\\s+");%> 
      <%for (int j=0;j<sa.length;j++){ 
      if(j==1){%> 
      <th>PID</th> 
      <th>Session Name</th> 
      <%} else {%> 
      <th><%=sa[j] %></th> 
      <%}} %> 
     </tr> 
    </thead> 
    <tbody> 
     <%for (int i=1;i<processArray.size();i++){ 
     se = processArray.get(i); 
     sa = se.split("\\s\\s+");%> 
     <tr> 
      <%for (int j=0;j<sa.length;j++){ 
      if(j==1){ 
       String ssa[] = sa[j].split(" ");%> 
      <td><%=ssa[0] %></td> 
      <td><%=ssa[1] %></td> 
      <%}else{ %> 
      <td><%=sa[j] %></td> 
      <%}} %> 
     </tr> 
     <%} %> 
    </tbody> 
</table> 
+0

oooooooooooooh謝謝soooo多,,,你的答案是非常非常有用的再次感謝 – ofloflofl

0

HTML table並添加行(tr)和td's以獲得正確的結構。

此外,你可以做一些stylingCSS

使用JSP scriplets已經過時,而且非常氣餒。使用JSTL,而不是Scriplets

模擬代碼

<c:forEach items="${element}" var="myCollection"> 

    <tr> 
     <td><c:out value="${element.field}"/></td> 

    </tr> 
</c:forEach> 

喜歡閱讀:How to avoid using scriptlets in my JSP page?

0

添加HTML表格(或DIV)和使用JSTL來生成它。