我想建议如何实施这种情况。(使用 jsf 2.0 和 primefaces 3.5)
- 有大约 10 个primefaces inputTexts
- 有一个 primefaces 数据表
有一个名为 Contact 的实体,具有 10 个属性,例如(名称、描述等...)
输入 inputTexts 并单击按钮后,如何在 dataTable 中添加行的最佳方法。? (我不能在数据库上持久化数据。只在 dataTable 新行中添加键入的新数据)
谢谢,
我想建议如何实施这种情况。(使用 jsf 2.0 和 primefaces 3.5)
有一个名为 Contact 的实体,具有 10 个属性,例如(名称、描述等...)
输入 inputTexts 并单击按钮后,如何在 dataTable 中添加行的最佳方法。? (我不能在数据库上持久化数据。只在 dataTable 新行中添加键入的新数据)
谢谢,
所以这是你要做的(10次)来得到你的结果:
从指定您想要的任何实体 bean 开始,我们将在这里保持通用,以使其对尽可能多的好人有用:
package pack;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean
@RequestScoped
public class Entity {
private String entityProperty ;
public String getEntityProperty() {
return entityProperty;
}
public void setEntityProperty(String entityProperty) {
this.entityProperty = entityProperty;
}
public Entity(String e) {
this.entityProperty = e ;
}
}
然后,您必须Entity
在 bean 中使用它(我称之为Bean
)。我们这样做是为了填充一个列表,dataTable
我们将迭代该列表以创建其行。这是豆子:
package pack ;
import java.util.ArrayList;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;
@ManagedBean
@RequestScoped
public class Bean {
private String property ;
private ArrayList<Entity> list ;
public ArrayList<Entity> getList() {
return list;
}
public void setList(ArrayList<Entity> list) {
this.list = list;
}
public String getProperty() {
return property;
}
public void setProperty(String property) {
this.property = property;
}
public Bean() {
list = new ArrayList<Entity>();
}
public void showInDataTable(){
list.add(new Entity(property));
}
}
最后,我们来到演示页面,在primefaces 网站上的浏览通常会让您了解使用什么以及如何使用:
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>StackOverflow</title>
</h:head>
<h:body>
<h:form>
<p:inputText value="#{bean.property}" />
<p:commandButton value="show in dataTable" action="#{bean.showInDataTable}" update="dataTable"/>
<p:dataTable id="dataTable" value="#{bean.list}" var="o">
<p:column>
<h:outputText value="#{o.entityProperty}" />
</p:column>
</p:dataTable>
</h:form>
</h:body>
</html>
因此,您可以根据自己的需要进行调整,一旦确定了Entity
等效项必须处理哪些属性(也就是说,在您的情况下,bean 和实体还有 9 个属性以及这些属性的调整构造函数),它应该会很好地流动。
祝你好运。
尝试关注
不需要将中间结果存储到数据库中