使用 mobileFirst javascript 适配器读取本地服务器 .json 文件
Reading local server .json file with mobileFirst javascript adapter
有什么方法可以从 javascript http 适配器读取 .json 文件(位于服务器中)?
我尝试了很多在互联网上描述的方法,但它们似乎不起作用,因为它们是为浏览器制作的java脚本(我收到类似 XMLHttpRequest is not defined 或 activeObject is not defined 的错误)。
例如,我使用了这个但它不起作用:
function readTextFile(file)
{
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function ()
{
if(rawFile.readyState === 4)
{
if(rawFile.status === 200 || rawFile.status == 0)
{
var allText = rawFile.responseText;
return allText;
}
}
}
rawFile.send(null);
}
有没有什么方法可以不使用 java 来做到这一点?
对于那些有兴趣使用 Java 的人。
您可以做的一件事是创建一个 Java 脚本适配器,它将使用 Java 代码。设置起来非常简单。
首先创建一个Java脚本适配器。
然后在server/lib
文件夹下创建Javaclass。我在包 com.sample.customcode
.
下创建了 class ReadJSON.java
里面 ReadJSON.java
public class ReadJSON {
public static String readJSON() throws IOException {
//Open File
File file = new File("file.txt");
BufferedReader reader = null;
try {
//Create the file reader
reader = new BufferedReader(new FileReader(file));
String text = null;
//read file
while ((text = reader.readLine()) != null) {}
} finally {
try {
//Close the stream
reader.close();
}
}
return "the text from file";
}
}
在您的 javascript 适配器中,您可以使用如下 Java 方法:
function readJOSN() {
var JSONfromServer = com.sample.customcode.ReadJSON.readJSON();
return {
result: JSONfromServer
};
}
希望对您有所帮助。
您可以使用 Javascript 读取文件,如下所示。
function readFile(filename) {
var content = "";
var fileReader = new java.io.FileReader(filename);
var bufferedReader = new java.io.BufferedReader(fileReader);
var line;
while((line = bufferedReader.readLine()) != null) {
content += line;
}
bufferedReader.close();
return content;
}
function test() {
var file = 'yourfilename.json';
var fileContents;
try {
fileContents = JSON.parse(readFile(file));
} catch(ex) {
// handle error
}
return {
fileContents: fileContents
};
}
有什么方法可以从 javascript http 适配器读取 .json 文件(位于服务器中)? 我尝试了很多在互联网上描述的方法,但它们似乎不起作用,因为它们是为浏览器制作的java脚本(我收到类似 XMLHttpRequest is not defined 或 activeObject is not defined 的错误)。
例如,我使用了这个但它不起作用:
function readTextFile(file)
{
var rawFile = new XMLHttpRequest();
rawFile.open("GET", file, false);
rawFile.onreadystatechange = function ()
{
if(rawFile.readyState === 4)
{
if(rawFile.status === 200 || rawFile.status == 0)
{
var allText = rawFile.responseText;
return allText;
}
}
}
rawFile.send(null);
}
有没有什么方法可以不使用 java 来做到这一点?
对于那些有兴趣使用 Java 的人。
您可以做的一件事是创建一个 Java 脚本适配器,它将使用 Java 代码。设置起来非常简单。
首先创建一个Java脚本适配器。
然后在server/lib
文件夹下创建Javaclass。我在包 com.sample.customcode
.
ReadJSON.java
里面 ReadJSON.java
public class ReadJSON {
public static String readJSON() throws IOException {
//Open File
File file = new File("file.txt");
BufferedReader reader = null;
try {
//Create the file reader
reader = new BufferedReader(new FileReader(file));
String text = null;
//read file
while ((text = reader.readLine()) != null) {}
} finally {
try {
//Close the stream
reader.close();
}
}
return "the text from file";
}
}
在您的 javascript 适配器中,您可以使用如下 Java 方法:
function readJOSN() {
var JSONfromServer = com.sample.customcode.ReadJSON.readJSON();
return {
result: JSONfromServer
};
}
希望对您有所帮助。
您可以使用 Javascript 读取文件,如下所示。
function readFile(filename) {
var content = "";
var fileReader = new java.io.FileReader(filename);
var bufferedReader = new java.io.BufferedReader(fileReader);
var line;
while((line = bufferedReader.readLine()) != null) {
content += line;
}
bufferedReader.close();
return content;
}
function test() {
var file = 'yourfilename.json';
var fileContents;
try {
fileContents = JSON.parse(readFile(file));
} catch(ex) {
// handle error
}
return {
fileContents: fileContents
};
}