2016-09-25 38 views
0

我在PrimeFaces中为p:galleria实施了示例。我可以显示我的图像等没有问题。但是我希望每个图像都有它自己的标题。这里是我的代码:如何将所有图像的p:galleria中的默认标题更改为每个图像的特定标题

<p:galleria value="#{mywork.images}" var="image" panelWidth="500" panelHeight="313" 
    showCaption="true" style="left:350px;"> 
    <p:graphicImage name="/galleria/dotacion/#{image}" alt="Image Description for #{image}" 
     title="#{mywork.titles}" style="width:100%;"/> 
</p:galleria> 

,这里是我的豆:

package org.portfolio.util; 

import java.util.ArrayList; 
import java.util.List; 
import javax.annotation.PostConstruct; 
import javax.faces.bean.ManagedBean; 

@ManagedBean 
public class Mywork { 

    private List<String> images; 
    private String titles = ""; 
    private String titles2 = ""; 

    @PostConstruct 
    public void init() { 
     images = new ArrayList<String>(); 

     for (int i = 1; i <= 7; i++) { 
      images.add("pierrel"+i+".jpg"); 
      if (i == 1) { 
       titles = "imagen de prueba if1"; 
       getTitles(); 
      } 
      if (i == 2){ 
       titles = "imagen de prueba if2"; 
       getTitles(); 
      } 
     } 
    } 

    public List<String> getImages() { 
     return images; 
    } 

    public String getTitles() { 
     return titles; 
    } 

    public String getTitles2() { 
     return titles2; 
    } 
} 

我在做什么错误或丢失?

这只是返回给我“imagen de prueba if2”为每个图像。

+0

THX上后,我的第一个编辑。 –

回答

0

您可以使用对象而不是使用字符串列表。

在你在你的XHTML ManagedBean

@ManagedBean 
public class Mywork { 

private List<ImageObject> images; 

@PostConstruct 
public void init() { 
    images = new ArrayList<String>(); 

    for (int i = 1; i <= 7; i++) { 
     images.add(new ImageObject("fileName" + i + ".jpg", "myDescription", "myTitle")); 
    } 
} 

public class ImageObject{ 
    private String fileName; 
    private String description; 
    private String title; 

    public ImageObject(String fileName, String description, String title){ 
    this.fileName = fileName; 
    this.description = description; 
    this.title = title; 
    } 

    //Getters setters 
} 

} 

<p:galleria value="#{mywork.images}" var="image" panelWidth="500" panelHeight="313" showCaption="true" style="left:350px;"> 
     <p:graphicImage name="/galleria/dotacion/#{image.fileName}" alt="#{image.description}" title="#{image.title}" style="width:100%;"/> 
    </p:galleria> 
相关问题