2016-05-22 20 views
-1

ファイルから読み込むためにこのコードを書きました。ページが読み込まれると、primefaces.ButにはinputTextAreaには何も表示されません。txtファイルの内容が読み込みページに表示されない

マイコード:

@Named("GlassfishLogFileController") 
@SessionScoped 
public class PrintReport implements Serializable { 

    private static String logFile = null; 

    public String logFile() { 
     return logFile; 
    } 

    @PostConstruct 
    public void init() { 
     try { 
      logFile = readLogFile(); 
     } catch (Exception e) { 

     } 
    } 

    public String readLogFile() throws FileNotFoundException, IOException { 
     BufferedReader br = null; 
     br = new BufferedReader(new FileReader("D:\\Report.log")); 

     //One way of reading the file 
     System.out.println("Reading the file using readLine() method:"); 
     String contentLine = br.readLine(); 
     while (contentLine != null) { 
      System.out.println(contentLine); 
      contentLine = br.readLine(); 

     } 
     return contentLine; 
    } 
} 

XHTML:

<h:inputTextarea rows="30" cols="1000" value="#{GlassfishLogFileController.logFile}" /> 
+2

そして、あなたは、ログファイル用のゲッター/セッターを持っているために

public String readLogFile() throws FileNotFoundException,IOException{ BufferedReader br = null; try { br = new BufferedReader(new FileReader("C:\\DefaultServer-diagnostic.log")); StringBuilder sb = new StringBuilder(); String line = br.readLine(); while (line!=null) { sb.append(line); sb.append("\r\n"); line = br.readLine(); } return sb.toString(); } finally { br.close(); } } 

?また、私はreadLogFile()のロジックを変更する必要があるようです。それは常にnullを返し、コンテンツだけをsysoutに返します。例えば、StringBuilderにcontentLineを追加します。そして、標準は、bean名の小文字で始めることです –

+0

@ Jaqen H'ghar私は自分のコードにブレークポイントを入れました。決して私のコードに来ません! – John

+0

コードのどこに? –

答えて

1

@Jaqen H'gharが彼のコメントで述べたように、あなたはあなたのUIでログファイルにアクセスするためのgetterメソッドを作成する必要があります。

public String getLogFile(){ 
     return logFile; 
    } 

変更あなたのreadLogFile方法:詳細Reading a plain text file in Java

関連する問題