uidata是什么
发布网友
发布时间:2022-05-12 07:43
我来回答
共2个回答
热心网友
时间:2022-04-25 16:15
猪哥解答:
UI知道吧,UI界面这个名词如果不懂的话百度一下,Data你也应该知道是什么意思,连起来UIData可以理解为页面数据,页面的Table、Tree什么的可以用UIData来封装处理,下面给你转一个实例,也许会对你有帮助。
猪哥转帖:
UIData:表示数据集合,每个数据项由DataModel(标准JSF UIComponent Model Bean之一)的一个实例封装。该组件通常用来渲染表格、列表和树。
实例:
新建一个实体bean
package org.abc.jsf.vo;
public class ArticleVO {
private int id;
private String title;
private String body;
public ArticleVO() {
}
//getter setter
新建from 类,jsf都是调用这类的方法
package org.abc.jsf.from;
import java.util.ArrayList;
import java.util.List;
import javax.faces.component.UIData;
import javax.faces.event.ActionEvent;
import jsftest.dal.ArticleDAL;
import jsftest.vo.ArticleVO;
import java.util.Collection;
public class ArticleForm {
private int id=0;
private String title;
private String body;
private ArrayList articles;
public ArticleForm() {
loadall();
}
private ArticleDAL dal=new ArticleDAL();
public void save()
{
ArticleVO vo=new ArticleVO();
vo.setBody(this.getBody());
vo.setTitle(this.getTitle());
if(this.getId()!=0)
{
vo.setId(this.getId());
}
dal.saveArticle(vo);
}
public void edit(ActionEvent event)
{//取页面集合的值
UIData table = (UIData) event.getComponent().getParent().getParent();
ArticleVO vo=new ArticleVO(); //实例化ArticleVO
vo=(ArticleVO)table.getRowData();
this.setBody(vo.getBody());
this.setId(vo.getId());
this.setTitle(vo.getTitle());
}
public void delete(ActionEvent event)
{
UIData table = (UIData) event.getComponent().getParent().getParent();
ArticleVO vo=(ArticleVO)table.getRowData();
dal.deleteArticle(vo);
dal.LoadArticleAll();
}
public void loadall()
{
this.setArticles((ArrayList)dal.LoadArticleAll());
}
public String getBody() {
return body;
}
public int getId() {
return id;
}
public String getTitle() {
return title;
}
public Collection getArticles() {
//this.loadall();
if(articles==null)
{
articles=new ArrayList();
}
return articles;
}
public void setBody(String body) {
this.body = body;
}
public void setId(int id) {
this.id = id;
}
public void setTitle(String title) {
this.title = title;
}
public void setArticles(ArrayList articles) {
this.articles = articles;
}
}
前台页面:
<%@ page contentType="text/html; charset=GBK" %>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<html>
<head>
<title>
jsp1
</title>
</head>
<body bgcolor="#ffffff">
<h:form>
<div align="left">
标题 <h:inputText id="title" value="#{article.title}" /><br>
内容 <h:inputTextarea id="currentMessage" value="#{article.body}" rows="10" cols="60"/>
<h:inputHidden value="#{article.id}"/>
</div>
<div align="center">
<h:commandButton value="save" action="#{article.save}"/>
</div>
<div align="center">
<h:commandButton value="clear" type="reset"/>
</div>
*************************************************************
<h:dataTable id="table" rowClasses="list-row" value="#{article.articles}" var="articles">
<h:column>
<h:outputText styleClass="small" value="#{articles.id}"/>
</h:column>
<h:column>
<h:commandLink id="editLink" actionListener="#{article.edit}">//绑定监听
<h:outputText value="edit"/>
</h:commandLink>
</h:column>
<h:column>
<h:commandLink id="deleteLink" actionListener="#{article.delete}">
<h:outputText value="delete"/>
</h:commandLink>
</h:column>
<h:column>
<h:outputText value="#{articles.title}"/>
</h:column>
<h:column>
<h:outputText value="#{articles.body}"/>
</h:column>
</h:dataTable>
</h:form>
</body>
</html>
热心网友
时间:2022-04-25 17:33
付费内容限时免费查看回答data.head() #表示显示前多好行数据
data.head() #返回data的前几行数据,默认为前五行,需要前十行则
data.tail() #返回data的后几行数据,默认为后五行,需要后十行则
data.tail() #返回data的后几行数据,默认为后五行,需要后十行则
与data.head意思是一个意思
希望我的回答可以帮助到你