lumyn.org

PPR 24/25

HTML-Generierung

Zunächst definiere ich ein Interface, welches Objekte beschreiben soll, welche man zu HTML-Code konvertieren kann.
package interfaces;

public interface HTMLAble {
    String toHTML();
}
Aus dem Tutorium hatte ich noch eine Klasse Person, welche ich hier jetzt zu einer HTMLAble-Klasse mache.
package people;

import interfaces.HTMLAble;

public class Person implements HTMLAble {
    private String name;

    public Person(String name) {
        this.name = name;
    }

    public void talk() {
        System.out.println("Mein Name ist " + this.name + ".");
    }

    public String toHTML() {
        return "<p>" + name + "</p>";
    }
}
Zuletzt erzeuge ich in meiner Main-Klasse ein paar Personen, und bastele mir eine HTML aus denen.
import people.Person;

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;

public class Main {
    public static void main(String[] args) throws IOException {
        ArrayList<Person> people = new ArrayList<>();
        people.add(new Person("Franz Josef"));
        people.add(new Person("Angela Merkel"));
        people.add(new Person("Giuseppe Abrami"));

        String html = "<!DOCTYPE html><html><head></head><body>"
                    + people.stream().map(Person::toHTML).reduce(String::concat).get()
                    + "</body></html>";
        FileOutputStream out = new FileOutputStream("./out.html");
        out.write(html.getBytes());
        out.close();
    }
}