0

我有一个大问题,我需要你的帮助。

我的应用程序带有 JSF 和丰富的面孔。我的模型(imageModel)中有一个图像列表:

import java.awt.Image;
List<Image> liste_images = new ArrayList<Image>()

而且我必须在同一个地方一个一个地播放它们(每 3 秒显示一个)。

我如何使用 J Query 做到这一点?我必须将图像列表发送到 java 脚本然后显示它们吗?

请帮忙!

4

1 回答 1

0

好吧,既然您使用的是 RichFaces:

图像显示

<a4j:mediaOutput>链接)用于显示图像:

<a4j:mediaOutput element="img" id="image"
    createContent="#{bean.paint}" value="#{bean.currentImage}" />

paint 方法接受一个 OutputStream 和一个 Object(由 value 属性提供):

public void paint(OutputStream out, Object data) {
    BufferedImage img = (BufferedImage) data;

    ImageIO.write(img, "jpg", out);
}

假设您使用 BufferedImage。

图像切换

<a4j:poll>链接)发出定期的ajax请求。

<a4j:poll render="image" interval="3000" enabled="#{bean.active}"
    actionListener="#{bean.showNextImage()}" />

showNextImage 方法将从列表中获取下一个图像,我相信你知道如何做到这一点。:)

于 2013-06-11T09:33:15.043 回答