Интересует библиотека по созданию HTML с добавлением в него данных через переменные (Что-то вроде Thymeleaf или HTMLFlow). Не с помощью SPRING и без Apache Tomcat! Сервер написан с использованием HttpServer.
Предположим, у меня есть заготовленный HTML+CSS шаблон сайта и я хотел бы в него вставлять данные, сохранять страницу и выставлять ее потом на сайте.
Вот пример шаблона:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h1></h1>
<h2></h2>
</body>
</html>
Вместо <h1>
и <h2>
я хотел бы ставить Hello
и World
сответственно.
Если возможен вариант решения через Thymeleaf - то я очень приветствую ибо в интернете в основном Thymeleaf идет со Spring'ом.
P.S. Пример кода - это сугубо пример. В моем случае нужно это мне для создания таблицы-расписания.
package com.example;
import java.io.StringWriter;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
public class Demo {
public static void main(String[] args) {
TemplateEngine templateEngine = new TemplateEngine();
ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
templateResolver.setTemplateMode("HTML");
templateEngine.setTemplateResolver(templateResolver);
Context context = new Context();
context.setVariable("h1", "Hello");
context.setVariable("h2", "World");
StringWriter stringWriter = new StringWriter();
templateEngine.process("test.html", context, stringWriter);
System.out.println(stringWriter.toString());
}
}
Обратите внимание на Apache FreeMarker https://freemarker.apache.org/ Будет необходимо определить html-template, с переменными, которые будут подставляться из Java-кода. По аналогии с JSP
Дополнение к ответу Sergey Gornostaev:
Расположение *.java и *.html файлов у вас может отличаться! Данный пример для Maven-юзеров
Визуализация файлов в проекте:
.
├── pom.xml
└── src
└── main
├── java
│ └── com
│ └── example
│ └── Demo.java
└── resources
└── test.html
Создаем файл Demo.java
:
import java.io.StringWriter;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
public class Demo{
public static void main(String[] args) {
TemplateEngine templateEngine = new TemplateEngine();
ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
templateResolver.setTemplateMode("HTML");
templateEngine.setTemplateResolver(templateResolver);
Context context = new Context();
context.setVariable("h1", "Hello");
context.setVariable("h2", "World");
StringWriter stringWriter = new StringWriter();
templateEngine.process("test.html", context, stringWriter);
System.out.println(stringWriter.toString());
}
}
Создаем HTML-файл в папке resources/
с именем test.html
:
<!DOCTYPE html>
<html lang="en"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<h1 th:text="${h1}"></h1>
<h2 th:text="${h2}"></h2>
</body>
</html>
Виртуальный выделенный сервер (VDS) становится отличным выбором
Помогите пожалуйста сделать движение объекта по полю хаотичным, а также задать их начальное положение не в левом верхнем углуСейчас все...