Вы можете поместить содержимое строкового html в файл в том же пакете, что и класс Java, и использовать вместо него метод engine.load(String url)
:
engine.load(getClass().getResource("mypage.html").toExternalForm());
При этом все относительные ссылки в htmlСтраница будет преобразована в ресурсы (например, файлы CSS и изображения) в вашем пакете Java.
Помните, что при загрузке ресурса, находящегося в файле JAR, протокол jar:
не понимает относительные ссылкис родительскими спецификаторами.Например, <img src="../images/image.png"/>
не будет работать, но <img src="/images/image.png"/>
или <img src="images/image.png"/>
будут работать до тех пор, пока вы поместите изображение в соответствующее место в файле jar.Протокол file:
не имеет таких ограничений, и относительные ссылки ..
будут работать нормально, когда ресурсы загружаются с его использованием.
Если строка html динамически генерируется вашим Java-кодом, а не статическим, то Сергейрешение, вероятно, лучше.