我想了解如何实施这个案例。 (使用jsf 2.0和primefaces 3.5)
让一个名为Contact的实体拥有10个属性,如(名称,描述等)
输入inputTexts并单击按钮后,如何在dataTable中添加行的最佳方法。 ? (我无法在数据库中保留数据。只在dataTable新行中添加已键入的新数据)
感谢,
答案 0 :(得分:2)
所以这就是你要做的事情(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 ;
}
}
然后你必须在bean中使用这个Entity
(我称之为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 site之旅通常会让您了解使用内容以及如何使用:
<?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个属性),它应该很好地流动调整后的构造函数。)
祝你好运。
答案 1 :(得分:0)
尝试以下
将中间结果存储到数据库
中不需要