如何创建带有java列表(JSF)选项的h:selectOneRadio



我想要一个带有h:selectOneRadio和Java ArrayList信息的JSF菜单。这是我的代码:

.XHTML:

<h:selectOneRadio value="#{bean.element}">
    <ui:repeat value = "#{bean.items}" var = "i">
        <f:selectItem itemValue="#{bean.elements[i]}" itemLabel="#{bean.elements[i]}" />
    </ui:repeat>
</h:selectOneRadio>

豆:

package bean.controlador;
import java.io.IOException;
import java.util.ArrayList;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
@ManagedBean
@SessionScoped
public class Bean {
    private String element;
    private ArrayList<Integer> items;
    private ArrayList<String> elements;
    public Bean() {
        element = "hello";
        elements = new ArrayList<String>();
        elements.add("world");
        elements.add("hello");
        elements.add("thanks");
        items = new ArrayList<Integer>();
        items.add(1);
        items.add(2);
        items.add(3);
    }

    public void load() throws IOException {
        FacesContext.getCurrentInstance().getExternalContext().redirect("link.xhtml");
    }
    public void listenerFuncion() {
        System.out.println("Listener");
    }
    public String getElement() {
        return element;
    }
    public void setElement(String element) {
        this.element = element;
    }
    public ArrayList<Integer> getItems() {
        return items;
    }
    public void setItems(ArrayList<Integer> items) {
        this.items = items;
    }
    public ArrayList<String> getElements() {
        return elements;
    }
    public void setElements(ArrayList<String> elements) {
        this.elements = elements;
    }
}

XHTML是空的,我没有看到任何项目。我想加载所有列表,然后单击任何选择项,element变量更改其值。谢谢!

不使用ui:repeatf:selectItem,而是使用 f:selectItems ,它可以获取项目列表。

下面是您的情况的示例:

<h:selectOneRadio value="#{bean.element}">
    <f:selectItems value="#{bean.items}" var="i" itemValue="#{bean.elements[i]}" itemLabel="#{bean.elements[i]}" />
</h:selectOneRadio>

不确定我是否完全理解您正在使用的变量的内容,但这也可能更适合您:

<h:selectOneRadio value="#{bean.element}">
    <f:selectItems value="#{bean.elements}" var="i" itemValue="#{i}" itemLabel="#{i}" />
</h:selectOneRadio>

相关内容

  • 没有找到相关文章

最新更新