首页 | j2ee | j2me | j2se | java代码 | JAVA高级 | java资讯 | 认证考试 | 实用技巧
  当前位置:Java教程网>JAVA基础>文章内容
一个JSF例子
来源: 作者: 发布时间:2007-11-22  
刚进项目组,就开始学习JSF------JavaServer Faces,关于JSF,在理论方面懂的也不多,让我们从实践环节开始:

注意:我的J2EE配置是JDK 1.5 + Eclipes 3.2 + MyEclipes 5.5 ,其中内嵌了对JSF的支持。

第一步:打开MyEclipse,选择File--->New--->Project--->WebProject,单击Next,输入项目名称jsfDemo,确定;

第二步:右键选中刚才新建的项目jsfDemo,在下拉菜单中选择MyEclipse,在右边弹出的菜单中选择“Add JSF Facelets Ability”,此时,系统会为我们在项目中自动加入JSF RI 1.1.01 Libraies包,并在WEB-INF中自动添加faces-config.xml配置文件和html_basic.tld和jsf_core.tld模式文件。

第三步:在项目的src文件夹中单击右键,添加Package ,然后在此包中添加Class,或者直接添加Class,此时系统会提示我们必须为此类指定包名。我们在src中添加了一个包com.kumon.test,并在此包中添加了三个后台代码文件:Book.java,BookList.java,SimulateDB.java,其中SimulateDB是模拟的用来连接底层数据库的一个类。

           其中Book.java的源代码如下:

package com.kumon.jsfdemo;

import java.util.Map;
import javax.faces.event.ActionEvent;
import javax.faces.component.UIParameter;
import javax.faces.context.*;

public 
class Book {
    private long id;   
    private String author;
    private String title;
    private boolean available;

    
/*
     
* default Constructor
     
*/
    public Book() {}

    
/*
     
* New Constructor with Parameters
     
*/
    public Book(long id, String author, String title, boolean available) {
        this.id 
= id;
        this.author 
= author;
        this.title 
= title;
        this.available 
= available;
    }
    
    public String getAuthor() {
        
return author;
    }
    public void setAuthor(String author) {
        this.author 
= author;
    }
    
    public boolean isAvailable() {
        
return available;
    }
    public void setAvailable(boolean available) {
        this.available 
= available;
    }
    
    public long getId() {
        
return id;
    }
    public void setId(long id) {
        this.id 
= id;
    }
    
    public String getTitle() {
        
return title;
    }
    public void setTitle(String title) {
        this.title 
= title;
    }
    
    
/*
     
* The set method of Class
     
*/
    public void setBook(Book book){
        this.setId(book.getId());
        this.setAuthor(book.getAuthor());
        this.setTitle(book.getTitle());
        this.setAvailable(book.isAvailable());
    }
    
    
/*
     
* The get method of Class
     
*/
    public Book getBook(){
        
return new Book(this.getId(),this.getAuthor(),this.getTitle(),this.isAvailable());
    }
    
    
/*
     
* The event of iniitiasize a book
     
*/
    public void initBook(ActionEvent event){
        this.setBook(new Book());
    }
    
    
/*
     
* The event of find a book by id
     
*/
    public void selectBook(ActionEvent event){
        SimulateDB simulateDB 
= new SimulateDB();
        Map session 
= FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
        UIParameter component 
= (UIParameter)event.getComponent().findComponent("editId");
        long id 
= Long.parseLong(component.getValue().toString());
        this.setBook(simulateDB.loadBookById(id, session));
    }
    
    
/*
     
* The event of save a new book to Collection and return the id of this new book
     
*/
    public void saveBook(ActionEvent event){
        SimulateDB simulateDB 
= new SimulateDB();        
        Map session 
= FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
        simulateDB.saveToDB(this.getBook(), session);
    }
    
    
/*
     
* The event of delete a book by the id of this book
     
*/
    public void deleteBook(ActionEvent event){
        SimulateDB simulateDB 
= new SimulateDB();        
        Map session 
= FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
        UIParameter component 
= (UIParameter)event.getComponent().findComponent("deleteId");        
        long id 
= Long.parseLong(component.getValue().toString());        
        simulateDB.deleteBookById(id, session);
    }
}

 

          BookList.java的源代码如下:

package com.kumon.jsfdemo;

import java.util.Collection;
import java.util.Map;
import javax.faces.context.
*;

public class BookList {
    Collection books;
    
    
/*
     * Get all book from the Collection
     
*/
    
public Collection getBooks(){
        SimulateDB simulateDB 
= new SimulateDB();
        Map session 
= FacesContext.getCurrentInstance().getExternalContext().getSessionMap();
        books 
= simulateDB.getAllBooks(session);        
        
return books;
    }
    
    
/*
     * Set the books of the Collection
     
*/
    
public void setBooks(Collection books){
        
this.books = books;
    }
}

              最后SimulateDB.java的源代码如下:
(阅读次数:

共3页: 上一页 1 [2] [3] 下一页
上一篇:JAVA线程池的实现及优先级设置   下一篇:java 的 import
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·jfreechar的使用
·java中用TreeMap进行中文排序
·Java转义符
·java数组排序实例
·Java正则表达式初探
·javascript给二维数组赋值示例
·struts2标签学习
·spring入门之简单登陆例子
·简化spring数据源配置:创建自定
·Java在线教程与书籍推荐
·eXtremeComponents代码结构解析
·java反射机制详解
·java析构函数替代者finalize()解
·Java程序设计实验报告
·谈谈Spring持久层封装
·Java开发常用方法
·DWR学习
·Java排序:TreeMap,Set,List
·CAS 单点登录原理
·JOSSO Single Sign-On 1.6 概述
  相关文章
·java 的 import
·jdk的安装
·Struts1和Struts2的类比
·什么是IOC
·Thinking in Java 4 第三章
·java Integer的比较实践
·Eclipse快捷键与插件
·jdk5新特性 实践
·eclipse的远程调试(jboss+tomcat
·JAVA EXCEL API(jxl)简述
·Spring中的Ioc
·java异常处理措施
·java队列应用:凯撒加密
·教你迅速成为Java高手
·MD5算法综述及其对用户密码加密
·Vector、ArrayList、List的使用
·超轻量级MVC框架的设计及实现
·Java程序的性能优化概述
·Java程序性能优化之 流程控制
·java正则表达式速学
Power by DedeCms