Как конвертировать 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» отображают одно и то же содержимое, но с разными методами его отображения.