[原创]JSF入门:超傻HELLOWORLD

一、工具介绍

本文的开发工具是Eclipse 3.2 + Myeclipse 5.0M2,JDK版本是5.0,Tomcat版本是5.5。请各位尽量配合本文的工具版本(些少差别其实也不怕)。

二、Hello World Step by Step

1. 打开Eclipse,新建一个WEB项目:





2. 右键点击视图上helloJSF项目,选择MYECLIPSE -> ADD JSF CAPABILITIES:

由于是helloworld,所以什么都不用改啦,直接点finish就可以了.

3. 在WEBROOT目录下建立JSP文件(这个就不用贴图了吧,呵呵)
index.jsp

<%@ page language="java" pageEncoding="GBK"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
        <head>

                <title>index</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">
                <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->

        </head>

        <body>
                <f:view>
                        <h:form>
                                <h:outputLabel value="输入你要打招呼的人的姓名:" />
                                <h:inputText value="#{hello.name}" />
                                <h:commandButton action="#{hello.action}" value="确定" />
                        </h:form>
                </f:view>
        </body>
</html>
welcome.jsp

<%@ page language="java" pageEncoding="GBK"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

        <title>welcome</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">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->

</head>
  
<body>
        <f:view>
                Hello!<h:outputLabel value="#{hello.name}"/>!
               
        </f:view>
</body>
</html>
结构如下图:


4. 创建和配置受控Bean(这里是这个简单例子最重要的)
在src源文件夹里创建HelloBean,我这里包路径是com.woden.demo.jsf,大家可以随便创建包路径.
HelloBean代码如下(超级简单):

package com.woden.demo.jsf;

public class HelloBean {

        private String name;

        public String getName() {
                return name;
        }

        public void setName(String name) {
                this.name = name;
        }
       
        public String action(){
                return "ok";
        }
}
接下来配置受控bean.按快捷键ctrl+N -> Myeclipse ->web-jsf -> managed bean:

按下finish后,在faces-config.xml会生成一段配置代码(大家自己看吧,这里别把faces-config.xml关掉,等下有用)

5. 配置页面转发
在faces-config.xml的源码里,配置以下代码:(其实可以利用myeclipse的向导功能,就是类似上一步配置受控bean一样按下ctrl+N...但这里讲述太麻烦,就直接写配置代码吧)
完整的faces-config.xml配置源码如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN" "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">

<faces-config>
        <managed-bean>
                <managed-bean-name>hello</managed-bean-name>
                <managed-bean-class>
                        com.woden.demo.jsf.HelloBean
                </managed-bean-class>
                <managed-bean-scope>request</managed-bean-scope>
        </managed-bean>
        <navigation-rule>
                <from-view-id>/index.jsp</from-view-id>
                <navigation-case>
                        <to-view-id>/welcome.jspw</to-view-id>
                        <from-outcome>ok</from-outcome>
                </navigation-case>

        </navigation-rule>
        <navigation-rule>
                <from-view-id>/welcome.jsp</from-view-id>
        </navigation-rule>
</faces-config>
这里讲述下原理:以上代码大家会发现一个OK,这里对应于hellobean里面action方法返回的字符串OK.而在index.jsp里面,"确定"按钮的action调用的就是hellobean里面的action方法,这里是个转向关系...呵呵,,,说道这里读者估计明白配置文件的意思了...

6. 运行实例
这里跟我以前文章介绍的实例一样,用myeclipse管理web容器十分方便,具体方法:项目点右键 -> MYECLIPSE -> ADD AND REMOVE PROJECT DEPLOYMENTS -> ADD ->选择tomcat就可以了.关于tomcat如何在列表出现,请自行去网上搜索有关myeclipse安装配置的文章,这里不详细说明.

接着在Eclipse打开tomcat,在浏览器输入http://localhost:8080/hello/index.faces 看到效果了.

三 、写在最后

这个例子很简单,甚至有点傻,但个人认为对于有一定J2EE WEB开发基础,但对JSF没有了解的人来说,还是有一定价值的,至少能够帮这些人了解JSF的页面转发流程,包括JSF的事件.同时,这个例子几乎没讲述什么原理,其实也不需要理解原理,个人建议是完成这个实例后,再看JSF原理的书籍,这样会有助于学习,也更能体现这么傻的一个例子的价值.
例子参考了IBM开发社区和台湾javaworld网站的一些文章,还有也参考了自己公司一位前辈写的JSF指南.严格来说不算抄袭,也算原创吧,所以转贴请注明工大后院(http://www.gdutbbs.com).
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值