图像保存在数据库中作为字节流,我必须在xsl中加载该图像。在xsl中是否可以从数据库加载图像?如果是这样如何做到。在xsl中,我们只用于加载静态图像,但我需要加载动态内容
答案 0 :(得分:0)
假设您有一些数据库,并且您正在存储可以某种方式检索的图像。图像由某些ID识别...如“1234567”。然后假设您的XML中包含某些内容,例如:
<imageid>1234567<imageid>
你XSL会接收这些信息,你可以:
1)创建自定义协议和Java URL处理程序并注册它。然后你只需在URL中使用它来获取fo:external-graphic的src属性...例如,你创建并注册一个自定义协议“getimage”和一个返回一些图像的处理程序。然后你可能有:
<fo:external-graphic src="getimage://myserver.com/images/1234567"/>
对于代码示例,只需在Web中搜索“创建自己的Java URL处理程序”。这是一个很好的资源:http://docstore.mik.ua/orelly/java/exp/ch09_06.htm
2)创建一个返回图像的servlet,然后你可以:
<fo:external-graphic src="http://myserver.com/getimage.jsp?image=1234567"/>
您必须决定如何从数据库中获取图像并将其流回,在标题中设置适当的信息,以便将其识别为相关的图像类型。