Как конвертировать HTML в Javascript (.js) в Java
По некоторым причинам безопасности вам может потребоваться преобразовать файл HTML в файл Javascript (js) и отобразить файл JS вместо файла HTML напрямую. Идея довольно проста - используяdocument.write
HTML
Convert HTML to Javascript file
Javascript (JS)
document.write('Convert HTML to Javascript file
');
1. Test.html
Создайте простой файл HTML, позже преобразуйте этот файл в Javascript.
Convert HTML to Javascript file
2. ConvertHTMLToJs.java
Создайте класс Java для преобразования всего кода HTML в файл Javascript (.js).
package com.example.io;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.OutputStream;
import java.io.PrintStream;
public class ConvertHTMLToJs {
private static final String FOLDER = "c:\\";
private static final String JS_FILE_NAME = "output.js";
private static final String HTML_FINE_NAME = "test.html";
private static final String JS_PREFIX = "document.write('";
private static final String JS_SUFIX = "');";
public static void main(String[] args) {
try {
//read html file
BufferedReader br = new BufferedReader(new FileReader(FOLDER + File.separator + HTML_FINE_NAME));
//output it to js file
OutputStream os= new FileOutputStream(new File(FOLDER + File.separator + JS_FILE_NAME));
PrintStream ps = new PrintStream(os);
StringBuffer sb = new StringBuffer();
String line;
while ((line = br.readLine())!= null) {
line = sb.append(JS_PREFIX).append(line).append(JS_SUFIX).toString();
//clear the StringBuffer content
sb.delete(0, sb.length());
ps.println(line);
}
ps.close();
os.close();
br.close();
System.out.println("done");
}catch(Exception e) {
e.printStackTrace();
}
}
}
3. Output.js
Запустите указанную выше программу Java, она преобразует «Test.html» в «Output.js»
document.write('');
document.write('');
document.write('Convert HTML to Javascript file
');
document.write('');
document.write('');
4. Проверь это
Создайте HTML-файл и включите файл «Output.js» для отображения.
Test-js.html
Вы заметите, что и «Test.html», и «Test-js.html» отображают одно и то же содержимое, но с разными методами его отображения.