页:
<p:graphicImage value="#{testController.QR}" />
testController bean:
private StreamedContent QR;
private ByteArrayOutputStream rawQR;
public StreamedContent getQR() {
if (rawQR != null) {
rawQR = QRCode.from("test").to(ImageType.PNG).stream();
ByteArrayInputStream is = new ByteArrayInputStream(rawQR.toByteArray());
QR = new DefaultStreamedContent(is, "image/png");
return QR;
} else {
return null;
}
}
我正在尝试在页面上显示QR图像。
使用SessionScoped上面的代码可以正常工作,但是使用ViewScoped它会显示一个损坏的图像图标,我需要将我的bean作为ViewScoped。我在这里缺少什么?QR参考:http://viralpatel.net/blogs/create-qr-codes-java-servlet-qr-code-java/