2014-02-14 29 views
0

請看看下面的代碼表寬度實在是太多了

<%-- 
    Document : index 
    Created on : Feb 7, 2014, 1:03:15 PM 
--%> 

<%@page import="java.util.Map"%> 
<%@page import="java.util.Iterator"%> 
<%@page import="analyzer.DataHolder"%> 
<%@page import="java.util.ArrayList"%> 
<%@page import="java.util.List"%> 
<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <title>JSP Page</title> 
    </head> 
    <body> 
     <h1><center>Web Site Analizer</center></h1> 
     <br/> 
     <form action=http://localhost:8080/WebSiteAnalizer/SiteAnalizer method=post> 
      Enter the Percentage (0-100): <input type="Text" name="percentage"> 
      <br/><br/><br/> 

      Enter the Words (Separated from New Line (/n)): <br/> 
      <textarea name='wordList' value='wordList'></textarea>    
      <br/><br/> 

      <input type="submit" value="Submit"> 

     </form> 

     <%@page import="java.util.List" %> 
     <%@page import="java.util.ArrayList" %> 
     <%@page import="java.util.HashMap" %> 

     <% 

      List<DataHolder> dataHolder = (ArrayList)request.getAttribute("list"); 
      HashMap hashMap = (HashMap)request.getAttribute("wordMap"); 

      if(hashMap==null) 
           { 
       out.println("Hashmap null"); 
      } 

      if(dataHolder!=null && dataHolder.size()>0) 
      { 
       out.println("</br>"); 
       out.println("<table border='1'><th>Primary Key</th><th>Original Hash</th><th>Matching Words</th><th>Non Matching words</th>"); 

       for(int i=0;i<dataHolder.size();i++) 
       { 
        DataHolder d = dataHolder.get(i); 

        int primaryKey = d.getPrimaryKey(); 
        String originalHash = d.getOriginalHash(); 
        ArrayList matchingWords = d.getMatchingWords(); 
        ArrayList unMatchingWords = d.getUnmatchingWords(); 

        StringBuffer matchingWordsStr = new StringBuffer(""); 
        StringBuffer unMatchingWordsStr = new StringBuffer(""); 

        //Populating Strings 
        for(int m=0;m<matchingWords.size();m++) 
        { 

         Iterator iter = hashMap.entrySet().iterator(); 

         while(iter.hasNext()) 
         { 
          Map.Entry mEntry = (Map.Entry)iter.next(); 

          if(mEntry.getValue().equals(matchingWords.get(m))) 
          { 
           //out.println(matchingWords.get(m)+" : "+true); 
           matchingWordsStr.append(mEntry.getKey()); 
           matchingWordsStr.append(","); 
          } 
         } 

        } 

        for(int u=0;u<unMatchingWords.size();u++) 
        { 
         Iterator iter = hashMap.entrySet().iterator(); 

         while(iter.hasNext()) 
         { 
          Map.Entry mEntry = (Map.Entry)iter.next(); 

          if(mEntry.getValue().equals(unMatchingWords.get(u))) 
          { 
           //out.println(matchingWords.get(m)+" : "+true); 
           unMatchingWordsStr.append(mEntry.getKey()); 
           unMatchingWordsStr.append(","); 
          } 
         } 
        } 


        out.println("<tr>"); 

        out.println("<td>"); 
        out.println(String.valueOf(primaryKey)); 
        out.println("</td>"); 

        out.println("<td>"); 
        out.println(originalHash); 
        out.println("</td>"); 

        out.println("<td>"); 
        out.println(matchingWordsStr); 
        out.println("</td>"); 

        out.println("<td>"); 
        out.println(unMatchingWordsStr); 
        out.println("</td>"); 

        out.println("</tr>"); 



       } 
       out.println("</table>"); 
      } 

     %> 
    </body> 
</html> 

此代碼生成一個表,但它確實是巨大的,這意味着寬度太大,以適合屏幕。原因是,此代碼輸入到列中的String值非常長。可能是5000到10000個單詞,一列中的所有內容都顯示在一行中。舉個例子,如果「原始哈希」是10000個字符,那麼整個東西就顯示在一行中。那麼,無論如何,我可以把這個製作長度的屏幕做出來嗎?

另請注意,我是開發人員而不是設計師。我很少使用腳本語言。

+0

你可以設計桌子嗎?例如爲列添加固定寬度等。 – feitla

+0

@feitla:是的,無論如何,我只是不知道如何去做。 –

回答

0

使用這個CSS打破了很長的字處理

td{ 
    word-wrap:break-word; 
} 
+0

感謝您的回覆。如何將它集成到JSP中? –

+0

放在你的CSS文件中,或放在''請記住,樣式標籤必須放在'' '標籤內 –