JSF(Myfaces) dataTable 操作测试

/*
* PCManager Suite
*/
package com.inphit.pms.web.system;

import java.util.ArrayList;
import java.util.List;

import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;

import org.apache.myfaces.custom.datascroller.ScrollerActionEvent;

import com.inphit.pms.data.system.Sperson;
import com.inphit.pms.utils.log.BaseException;
import com.inphit.pms.utils.web.BaseBean;
import com.inphit.pms.utils.web.FacesUtils;
import com.inphit.pms.utils.web.NavigationResults;
import com.inphit.pms.utils.web.StringUtils;


/**
* Sperson backing bean.
*
* @author <a href="mailto:taoyinzhou@163.com">taoyinzhou</a>
*/
public class SpersonBean extends BaseBean{
//用户登录名
private String floginname;

//用户密码
private String fpassword;

//登录成功否
private boolean loggedIn;

//人员列表
private List _list = new ArrayList();

/**
* Default constructor.
*/
public SpersonBean() {
this.clear();
this.logger.debug("SpersonBean is created");
}

/**
* Backing bean action to login a user.
*
* @return the navigation result
*/
public String loginAction() {
try {
Sperson sperson = this.serviceLocator.getSpersonService().login(this.floginname, this.fpassword);
if (sperson != null) {
this.loggedIn = true;

return NavigationResults.SUCCESS;
}
else {
this.loggedIn = false;

String msg = "登录名、密码有误 ";
FacesUtils.addErrorMessage(msg + ", 请从新录入");
this.logger.debug(msg);

return NavigationResults.RETRY;
}


}
catch (BaseException ue) {
String msg = "不存在的登录名";
this.logger.info(msg);
FacesUtils.addErrorMessage(msg + ", 请从新录入.");

return NavigationResults.RETRY;
}
catch (Exception e) {
this.logger.error("Could not log in user.", e);
FacesUtils.addInfoMessage("Could not log in user: Internal Error");

return NavigationResults.FAILURE;
}

}

/**
* The backing bean action to logout a sperson.
*
* @return the navigation result
*/
public String logoutAction() {
this.clear();
this.logger.debug("Logout successfully.");

return NavigationResults.HOME;
}

private void clear() {
this.floginname = null;
this.fpassword = null;
this.loggedIn = false;
}



public String getFloginname() {
return this.floginname;
}

public void setFloginname(String newFloginname) {
this.floginname = newFloginname;
}

public String getFpassword() {
return this.fpassword;
}

public void setFpassword(String newFpassword) {
this.fpassword = newFpassword;
}

public boolean getLoggedIn() {
return this.loggedIn;
}

public void setLoggedIn(boolean newLoggedIn) {
this.loggedIn = newLoggedIn;
}

public String getDummyVariable() {
return null;
}
/**
* @return lis
*/
public List setList() {
List lisPer = new ArrayList();
try {
StringUtils stringUtils = new StringUtils();
String strSdeptName="";
List lis = this.serviceLocator.getSpersonService().getAllSperson();
for (int i = 0; i < lis.size(); i++) {
Sperson sperson = (Sperson) lis.get(i);
sperson.setFdisplayname(stringUtils.getBb2312(sperson.getFdisplayname()));
//根据部门ID取得部门名称
strSdeptName = this.serviceLocator.getSdeptService().getSdeptNameByFid(sperson.getFdeptid());
sperson.setFdeptid(stringUtils.getBb2312(strSdeptName));
lisPer.add(sperson);
}

} catch (BaseException e) {
e.printStackTrace();
}
return lisPer;
}
/**
* @return 用户列表
*/
public List getList() {
_list = setList();
return _list;
/*
for (int i = 1; i < 995; i++)
{
_list.add(new TestField("测试"+i, "Car Type " + i, "blue"));
}
return _list;
*/
}
/**
* @param event
*/
public void scrollerAction(ActionEvent event) {
ScrollerActionEvent scrollerEvent = (ScrollerActionEvent) event;
FacesContext.getCurrentInstance().getExternalContext().log(
"scrollerAction: facet: " + scrollerEvent.getScrollerfacet()
+ ", pageindex: " + scrollerEvent.getPageIndex());
}
}

<!--
/*
* Project: PCManager Suite
* FileName: sysPerson.jsp
* Description: 用户编辑页
* Copyright: Copyright 2005 inphit Incorporated. All rights reserved.
* author: taoyinzhou mail:taoyinzhou@163.com
* version 1.0
*/
-->
<%@ page contentType="text/html; charset=gb2312" %>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>

<html>


<head>
<title>PCS</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
<link rel="stylesheet" type="text/css" href="style/basic.css">
</head>
<body bottomMargin="0" leftMargin="0" topMargin="0" rightMargin="0">

<f:view>

<h:panelGroup id="body">

<t:dataTable id="data"
styleClass="scrollerTable"
headerClass="standardTable_Header"
footerClass="standardTable_Header"
rowClasses="standardTable_Row1,standardTable_Row2"
columnClasses="standardTable_Column,standardTable_ColumnCentered,standardTable_Column"
var="sperson"
value="#{spersonBean.list}"
preserveDataModel="false"
rows="20"
>
<h:column>
<f:facet name="header">
<h:outputText value="序 号" />
</f:facet>
<h:outputText value="#{sperson.forderby}" />
</h:column>

<h:column>
<f:facet name="header">
<h:outputText value="登录名" />
</f:facet>
<h:outputText value="#{sperson.floginname}" />
</h:column>

<h:column>
<f:facet name="header">
<h:outputText value="用户名" />
</f:facet>
<h:outputText value="#{sperson.fdisplayname}" />
</h:column>

<h:column>
<f:facet name="header">
<h:outputText value="部 门" />
</f:facet>
<h:outputText value="#{sperson.fdeptid}" />
</h:column>

</t:dataTable>

<h:panelGrid columns="1" styleClass="scrollerTable2" columnClasses="standardTable_ColumnCentered" >
<t:dataScroller id="scroll_1"
for="data"
fastStep="10"
pageCountVar="pageCount"
pageIndexVar="pageIndex"
styleClass="scroller"
paginator="true"
paginatorMaxPages="9"
paginatorTableClass="paginator"
paginatorActiveColumnStyle="font-weight:bold;"
actionListener="#{spersonBean.scrollerAction}"
>
<f:facet name="first" >
<t:graphicImage url="images/arrow-first.gif" border="1" />
</f:facet>
<f:facet name="last">
<t:graphicImage url="images/arrow-last.gif" border="1" />
</f:facet>
<f:facet name="previous">
<t:graphicImage url="images/arrow-previous.gif" border="1" />
</f:facet>
<f:facet name="next">
<t:graphicImage url="images/arrow-next.gif" border="1" />
</f:facet>
<f:facet name="fastforward">
<t:graphicImage url="images/arrow-ff.gif" border="1" />
</f:facet>
<f:facet name="fastrewind">
<t:graphicImage url="images/arrow-fr.gif" border="1" />
</f:facet>
</t:dataScroller>
<t:dataScroller id="scroll_2"
for="data"
rowsCountVar="rowsCount"
displayedRowsCountVar="displayedRowsCountVar"
firstRowIndexVar="firstRowIndex"
lastRowIndexVar="lastRowIndex"
pageCountVar="pageCount"
pageIndexVar="pageIndex"
>
<h:outputFormat value="总记录数({0}), 当前显示({1}), 从第({2})至({3}), 第({4}) / 共({5})页" styleClass="standard" >
<f:param value="#{rowsCount}" />
<f:param value="#{displayedRowsCountVar}" />
<f:param value="#{firstRowIndex}" />
<f:param value="#{lastRowIndex}" />
<f:param value="#{pageIndex}" />
<f:param value="#{pageCount}" />
</h:outputFormat>
</t:dataScroller>
</h:panelGrid>
</h:panelGroup>
</f:view>

</body>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
 JSF2.xdatatable分页控件与左侧菜单最简单应用   JSF2.x,功能强大,使用方便。全世界使用JSF的人越来越多。而且也有很多很好的控件给发出来了,如:richfaces、primefaces、myfaces等,就日前来讲primefaces功能很强大,控件很多,但有一点不好就是不支持IE6,特别是下拉列表,p:dialog等,其它的分页p:datatable实际使用起来总有不如意的地方。richfaces还支持可视化开发,可惜就是控件开发进度相比其它的慢了很多。下面帖我的控件的使用方法:   下载地址:http://download.csdn.net/detail/ptianfeng/4802713 一、分页具体使用方法如下(不多说,直接给你些颜色看看): 1. xhtml文件:    <html xmlns:ems="http://www.ems.com.cn" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:ui="http://java.sun.com/jsf/facelets"> <h:dataTable id="tableId" value="#{userlogMBean.defaultDataModel}" var="var" rows="10"> <h:column> <f:facet name="header"> <h:outputText value="" /> </f:facet> <h:outputText value="#{var.sqlid}" /> </h:column> </h:dataTable> <ems:page id="pageId" for="tableId" maxPage="5" /> 2. 相应的Managedbean: [java] view plaincopy /** * EMS 11185 限时未达邮费奉还 * @author 螃蟹 */ @SuppressWarnings(value = "serial") @ManagedBean(name = "userlogMBean") @ViewScoped() public class UserlogMBean extends PageListBaseBean implements Serializable { public PagedListDataModel getDefaultDataModel() { if (defaultDataModel == null) { defaultDataModel = new PagedListDataModel(pageSize) { public DataPage fetchPage(int startRow, int pageSize) { ArrayList<UserlogVo> dataList = new ArrayList<UserlogVo>(); List<Userlog> list = dao.getObjectList(jpql, pageSize, startRow); if (list != null) { for (Userlog u : list) { UserlogVo vo = new UserlogVo(); vo.setSqlid(u.getSqlid()); vo.setCode(u.getCode()); vo.setDate(u.getDate()); vo.setStation(u.getStation()); vo.setUserid(u.getUserid()); vo.setText(u.getText()); dataList.add(vo); } } int size = dao.getCountOption(jpql); DataPage dataPage = new DataPage(size, startRow, dataList); return dataPage; } }; } return defaultDataModel; } } 提示:关于PageListBaseBean更多的信息,可以参阅我在百度的blog(百度改版后,让我很QF,所以转到CSDN来了): http://hi.baidu.com/kittopang/item/19af4e37c6ede2fae6bb7a11   至此,分页已经实现。下面是使用截图:

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值