使用Cobra进行Java HTML渲染

Tra*_*tus 5 html java uri cobra

我目前正在使用Cobra:Java HTML Renderer&Parser来呈现基于Java应用程序中的用户选择动态生成的HTML页面.

在我的应用程序中,用户可以选择数百个项目.项目以特殊的彩色符号形式显示,用户可以选择多个项目.

一旦选择了多个项目,它们的书面描述将被动态生成并格式化为包含css2和html4标签,并加载到Cobra HTMLPanel中进行显示.

我希望在HTMLPanel中显示符号的图像以及项目的书面描述.

一种方法是使用ImageIO.write将BufferedImage保存到文件中,然后在我动态生成的HTML文档中包含img html标记,该文档将被加载到HTMLPanel中.不幸的是,这是不可接受的,因为用户可能会选择数百个符号,这反过来会导致数百个ImageIO.write调用以及我应用程序性能的惊人降低.

另一种方法是将BufferedImage转换为Base64编码,然后将编码直接放入HTML文档中,如下所示

<img alt="Embedded Image" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIA..." />
Run Code Online (Sandbox Code Playgroud)

不幸的是,HTMLPanel似乎忽略了数据URI方案.

有谁知道解决方案?

Jes*_*num 1

使用像 Jetty 这样的嵌入式 servlet 容器。将 URL 指向“http://localhost:somePort/imageId”,然后从内存中提供这些 URL。