我如何将html代码从我的bean传递到服务器并得到解释?

问题描述 投票:-3回答:1

我在本地硬盘驱动器上有一些图像集合,我想在网页上显示它们。在我的bean中,我创建了完整的html代码,将图像显示为链接到实际图像。如果我只使用#{bean.getImages()}(它返回html代码),那么它将被打印到屏幕上。如果我使用h:outputtext而不进行转义,则它将代码保存在元素中,并且不打印任何内容。如果我将其与转义一起使用,则在任何地方都找不到我的代码的踪迹。如何从显示在页面上的bean中获取元素?

java html jsf
1个回答
0
投票

代替从bean返回图像的html代码,您可以将图像转换为base64字符串

//read the image as a byte[]
public byte[] extractBytes (String ImageName) throws IOException {
 // open image
 File imgPath = new File(ImageName);
 BufferedImage bufferedImage = ImageIO.read(imgPath);

 // get DataBufferBytes from Raster
 WritableRaster raster = bufferedImage .getRaster();
 DataBufferByte data   = (DataBufferByte) raster.getDataBuffer();

 return ( data.getData() );
}

//......

byte[] image = extractBytes ("myimage.png");
string encodedfile = new String(Base64.encodeBase64(image), "UTF-8");

并且在您的页面中将其与]连接在一起

<img src="data:image/png;base64,#{bean.getImages()}"/>
© www.soinside.com 2019 - 2024. All rights reserved.