Java 如何将图像从Applet传递到JSF支持bean
我正在使用一个web应用程序,其中有一个Java小程序,可以将wacom设备中的图像捕获到Java 如何将图像从Applet传递到JSF支持bean,java,jsf,jsf-2,applet,bufferedimage,Java,Jsf,Jsf 2,Applet,Bufferedimage,我正在使用一个web应用程序,其中有一个Java小程序,可以将wacom设备中的图像捕获到renderImage对象中。小程序本身嵌入到JSF2.0页面中 我需要将创建的renderimage从Applet传递到JSF支持bean,以便它成为User对象的一部分。我的支持bean是视图范围的 我真的很迷茫。我一直在寻找一个如何实现这一目标的好例子。我应该使用JSObject,还是应该向servlet发送图像 您能就如何解决此问题提供一些建议吗?您的问题可分为以下子步骤: 从存放数据的缓冲区图像创
renderImage
对象中。小程序本身嵌入到JSF2.0页面中
我需要将创建的renderimage
从Applet传递到JSF支持bean,以便它成为User
对象的一部分。我的支持bean是视图范围的
我真的很迷茫。我一直在寻找一个如何实现这一目标的好例子。我应该使用JSObject
,还是应该向servlet发送图像
您能就如何解决此问题提供一些建议吗?您的问题可分为以下子步骤:
缓冲区图像
创建字节数组李>
的onclick
李>
public void processImage() throws IOException, JSException {
BufferedImage image = createBufferedImage();//the way you get the image
/* point 1 */
ByteArrayOutputStream bs = new ByteArrayOutputStream();
ImageIO.write(image, "png", bs);
bs.flush();
byte[] imageByteArray = bs.toByteArray();
bs.close();
/* point 1 */
String imageAsString = Base64.encodeBase64String(imageByteArray);//point 2
/* points 3-4 */
JSObject window = JSObject.getWindow(this);
window.call("writeImageValue", new Object[] {imageAsString});
/* points 3-4 */
}
JSF页面(表单和JavaScript):
函数writeImageValue(imageValue){
document.getElementById('image')。value=imageValue;//第3点
document.getElementById('image-form:submit')。单击();//第4点
}
JSF托管bean:
@ManagedBean
@RequestScoped
public class ImageSubmitBean {
@ManagedProperty("#{param.image}")//point 5
private String imageAsString;//getter+setter
@ManagedProperty("#{userBean}")//your view scoped bean
private UserBean userBean;//getter+setter
public String submitImage() throws IOException {
byte[] imageByteArray = Base64.decodeBase64(imageAsString);//point 6
/* point 7 */
InputStream is = new ByteArrayInputStream(imageByteArray);
BufferedImage image = ImageIO.read(is);
is.close();
userBean.setUserImage(image);//update your view scoped bean
/* point 7 */
return null;
}
}
你成功地使解决方案起作用了吗?@AndrewThompson谢谢!有趣的是,在发布一个问题后,OPs有时似乎完全失去了对它的兴趣,根本没有提供任何反馈。尽管如此,在stackoverflow上冲浪在这个话题上几乎没有任何结果,所以我认为有一个小型案例来解决这个问题会很好:)谢谢!!!!!!!!直到今天,我将测试您的解决方案,我的wacom dll:\失败,我无法从pad加载图像,原因未知,dll加载失败,直到今天,我解决了这个问题,再次感谢。非常感谢先生。你帮了我很大的忙