2016-03-08 70 views
0

我需要用SSJS創建一個文本文件。我從文檔中獲取數據,然後將所有數據寫入文本文件。我試圖找到一些解決方案,我發現在互聯網上搜索,但我無法得到我需要的結果。XPages通過SSJS創建.txt文件

問候
任何建議理解
Cumhur阿塔


UPDATE:

writer.endDocument(); 
facesContext.responseComplete(); 
writer.close(); 

Screenshot of confirmation

更新2:

<xp:button value="Create TXT File" id="button1"> 
    <xp:eventHandler event="onclick" submit="true" 
     refreshMode="complete"> 
     <xp:this.action><![CDATA[#{javascript:var con = facesContext.getExternalContext(); 
var response:com.ibm.xsp.webapp.XspHttpServletResponse = con.getResponse(); 
response.setContentType("text/plain; charset=UTF-8"); 
response.setHeader("Cache-Control", "no-cache"); 
response.setDateHeader("Expires", -1); 
response.setHeader("Content-Disposition", "attachment; filename=\"file.txt\""); 
var strEntr = "\n"; 
var str1 = "TXTV2[] \n"; 
str1 += "NUMBER|CLIENT_ID|START_DATE|END_DATE|\n"; 
str1 += "UNITS|DESCRIPTION|CLASSIFICATION|"+strEntr; 
str1 += "[]"; 
response.getOutputStream().write(str1.getBytes()); 
facesContext.responseComplete(); }]]></xp:this.action> 
    </xp:eventHandler></xp:button> 
+0

你沒有告訴我們,*你到目前爲止已經試過了什麼。試着更具體一些:你到目前爲止得到的結果是什麼,爲什麼他們不符合你的說法? –

+0

我試過這種樣本 https://www-10.lotus.com/ldd/ddwiki.nsf/dx/NotesStream_sample_JavaScript_code_for_XPages –

+0

再次說明:您從示例代碼中得到了什麼樣的結果,錯誤消息?錯誤的文本文件?你嘗試過哪一個樣本,你不喜歡它的結果是什麼? –

回答

4

本示例將下載字符串的內容作爲txt文件。

希望有所幫助。

var textBuffer = "some text here"; 
var con = facesContext.getExternalContext(); 
var response:com.ibm.xsp.webapp.XspHttpServletResponse = con.getResponse(); 
response.setContentType("text/plain"); 
response.setHeader("Cache-Control", "no-cache"); 
response.setDateHeader("Expires", -1); 
response.setHeader("Content-Disposition", "attachment; filename=\"file.txt\""); 
response.getOutputStream().write(textBuffer.getBytes()); 
facesContext.responseComplete(); 
+0

你知道嗎?就像Enter鍵一樣,如何去下一行。 –

+0

您可以將「\ n」添加到字符串以開始新行。 –

+0

我試過了,它不適用於我:( 我添加了我的按鈕代碼到我的問題。我想我錯過了一些東西:( –

0

您應該在SSJS中初始化Java代碼。

importPackage(Java class) // whole Java class name with package !!!not string 
var tmp = new ImportedClassName() 
tmp.run() // run all logic 

希望我幫忙。最好的祝福。