我使用的前端primefaces并使用一个ArrayList在我的支持bean插入元素将空行
我想有由新线分离数组列表,使一些填充一个selectOneList
逻辑分隔
如何添加一个元素到ArrayList
将被渲染为空行?
我使用的前端primefaces并使用一个ArrayList在我的支持bean插入元素将空行
我想有由新线分离数组列表,使一些填充一个selectOneList
逻辑分隔
如何添加一个元素到ArrayList
将被渲染为空行?
以下代码将帮助您实现所需的功能,即在<p:selectOneListBox>
中输入一些空行。现在我不确定这是否是挤出空字符串的组件的一个特性。所以""
将无法正常工作。
这是一个示例托管bean:
package app.so.dev.web.controller;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import app.so.dev.web.model.Student;
@ManagedBean(name = "so15350373")
@ViewScoped
public class SO15350373 implements Serializable{
private static final long serialVersionUID = 2190171095461884759L;
private List<Student> students;
private int selected;
@PostConstruct
public void init() {
students = new ArrayList<Student>();
students.add(new Student(1, "Student 1"));
students.add(new Student(2, " "));
students.add(new Student(3, "Student 3"));
students.add(new Student(4, " "));
students.add(new Student(5, "Student 5"));
students.add(new Student(6, "Student 6"));
}
public List<Student> getStudents() {
return students;
}
public void setStudents(List<Student> students) {
this.students = students;
}
public int getSelected() {
return selected;
}
public void setSelectedStudent(int selected) {
this.selected = selected;
}
}
的Student
是具有两个字段id
和name
一个简单的POJO。为了简洁起见,我没有展示这个类:P。
这是XHTML:
<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui" template="/WEB-INF/templates/globalTemplate.xhtml">
<ui:define name="title">15350373</ui:define>
<ui:define name="content">
<h:form>
<p:selectOneListbox value="#{so15350373.selected}" id="list">
<f:selectItems value="#{so15350373.students}" var="student" itemLabel="#{student.name}" itemValue="#{student.id}" />
</p:selectOneListbox>
</h:form>
</ui:define>
</ui:composition>
您可能希望在'
非常感谢Tapas!这工作。谢谢你的一个很好的例子!我曾尝试myarrayList.add(“”),但没有奏效。 – 2013-03-13 03:20:26
Kolossus,我不必为了达到预期的效果而将该属性设置为false。至少Internet Explorer 9没有它,或者该属性默认为false!虽然谢谢! – 2013-03-13 03:22:38
向我们展示一些代码,什么样的'ArrayList'的?你尝试过'yourArrayList.add(“”)或'yourArrayList.add(new SelectItem(“”,“”))'? – 2013-03-12 00:11:10