这是JSF技术系列讲座的第1个,整个讲座包括两大部分,第1部分是在NetBeans中的开发过程,第二部分是JSF相关技术的全面介绍。
JavaServer Faces是Web应用中构建用户接口组件的标注Java API。可以把JSF框架想象成充满随时可以使用的组件的工具箱,这些组件可以在Web应用中快速和方便的重用。这些组件可能是简单的,例如存取用户数据的输入框,可能非常复杂,例如使用弹出式日历来格式化日期的输入框。可以把这些组件嵌入到JSP页面,然后使用框架来处理不同页面之间的导航。
目标:创建一个JSF应用。
在NetBeans中,可以在创建应用的时候为Web应用添加JSF支持,也可以为已有的应用添加JSF支持。Sun应用服务器已经包含了JSF库,所以不需要下载和安装。我们在创建应用的时候添加JSF支持。
-
选择 File > New Project (Ctrl-Shift-N), 从Web目录中的 Web Application,点击Next.
-
指定工程的名字为jAstrologer, 并为工厂指定位置,选择Sun应用服务器作为服务器,设置Java EE的版本为Java EE 5,然后点击Next.
-
选中JavaServer Faces 复选框,然后点击Finish.
NetBeans完成Web应用的创建。展开工程的Libraries 中的 Sun Java System Application Server节点.可以看到JSF库,例如jsf-impl.jar已经添加到classpath中了。展开Configuration Files可以看到IDE已经创建了faces-config.xml文件,该文件控制Web应用中JSF组件的行为。IDE还在web.xml部署描述符中注册了FacesServlet。FacesServlet处理JSF框架所控制的JSP页面之间的导航。
我们将创建一个新的JSP页面greeting.jsp,该页面作为欢迎界面并且用于收集他们的信息,然后创建一个success.jsp,为用户显示祝贺信息。
创建欢迎页面
-
右键点击工程节点,选择 New 选择 JSP,命名为greeting, 点击Finish. 确保选中JSP File (Standard Syntax) 。
-
现在需要在JSF文件中声明JSF标签库,修改下面的代码;
<%--
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
--%>
改成:
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
注意可以使用代码生成器帮助添加标签名字和属性。代码生成器同样可以帮助你添加标签库的URI。
-
把title和h1标签改成Welcome to jAstrologer.
-
向文件中添加一个JSF表单。在Palette中,点击JSF Form按钮,然后拖拽到h1标签的下面。在对话框中,选择Empty Form,然后点击OK。IDE会生成如下代码(粗体部分)。
<h1>Welcome to jAstrologer</h1>
<f:view>
<h:form>
</h:form>
</f:view>
</body>
-
我们准备使用inputText组件获取用户输入,实用commandButton组件提交表单。在源文件编辑区,把h:form元素的内容修改成:
<f:view>
<h:form>
<p>Enter your name: <h:inputText value="name" /></p>
<p>Enter your birthday: <h:inputText value="birthday" /></p>
<h:commandButton value="Submit" action="submit" />
</h:form>
</f:view>
创建成功的页面
现在要创建一个仅仅输出"Congratulations"的页面。
-
像上面一样创建一个新的JSP文件,命名为success。
- 把文件的内容修改成:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Congratulations</title>
</head>
<body>
<h1>Congratulations</h1>
<p>You've successfully registered with jAstrologer.</p>
</body>
</html>
注意:我们这里使用的是纯HTML,所以不需要声明JSF标签库。
JSF框架中页面的导航是由faces-config.xml文件控制的,该文件位于工程窗口中的Configuration Files节点下。对于每个页面,你可以设置一个包含一个或多个导航情况的导航规则。现在,我们仅仅将commandButton的submit动作提交给success.jsp,因此不论用户在输入框中输入什么信息,都可以看到成功的消息。
-
双击faces-config.xml打开Source Editor。
-
右键单击文件的任何地方,选择Java ServerFaces,然后选择 Add Navigation Rule。然后在Rule from View 输入框中输入/greeting.jsp,然后输入规则的描述(可选的),然后点击Add。
在faces-config.xml中生成了下面的代码:
<navigation-rule>
<description>
handle user input
</description>
<from-view-id>/greeting.jsp</from-view-id>
</navigation-rule>
-
在faces-config.xml中右键单击,然后选择Java ServerFaces选择Add Navigation Case,设置如下:
n From View: /greeting.jsp
n From Outcome: submit
n To View: /success.jsp
点击Add。在faces-config.xml中生成了下面的代码(粗体部分):
<navigation-rule>
<description>
handle user input
</description>
<from-view-id>/greeting.jsp</from-view-id>
<navigation-case>
<from-outcome>submit</from-outcome>
<to-view-id>/success.jsp</to-view-id>
</navigation-case>
</navigation-rule>
现在对IDE进行设置,当运行这个应用的时候,显示greeting.jsp,然后测试这个应用。
-
右键点击工程,然后先择Properties.
-
点击Run,然后在Relative URL输入框中输入/faces/greeting.jsp,然后点击OK。
-
右键点击工程,然后选择Run。IDE会build工程,启动应用服务器,部署应用,并在浏览器中显示下面的页面。
当您点击Submit按钮的时候,可以看到下面的输入结果:
关于JSF的基本概念可以参考书上第11章JSF概述,和第12章一个简单的JSF应用。
书:《Java EE 5实用教程》
分享到:
相关推荐
NetBeans中JSF应用开发
在基于J2EE技术的三层架构软件开发过程中,大部分程序员比较习惯于所谓的SSH架构,即Struts+Spring+Hibernate。其中Struts框架负责“视图View—控制器Control—模型Model”的导航。而JSF的出现,给了程序员们一个...
在基于J2EE 技术的三层架构软件开发过程中,大部分程序员比较习惯于所谓 的SSH 架构,即Struts+Spring+Hibernate。其中Struts 框架负责“视图View— 控制器Control—模型Model”的导航。而JSF 的出现,给了程序员们...
用NetBeans做一个可以增加删除的购物车的JSF WEB应用
李刚,从事10年的Java EE应用开发。曾任LITEON公司的J2EE技术主管,负责该公司的企业信息平台的架构设计。曾任广州电信、广东龙泉科技等公司的技术培训导师。2007年3月26日的《电脑报》专访人物。现任新东方广州中心...
使用Netbeans 7.3 开发基于JSF, EJB, JPA的应用程序. JSF实用primefaces 3.4, 数据库使用oraclexe 11g. 注: 该文档是在原作者的netbeans6.8, javadb的基础上修改的,并在netbeans 7.3中测试成功.
NetBeans Visual Web 使用指南,通过这个简易指南,您可以快速入门使用JSF,并且可以快速开发基于JSF应用程序。
文件有适用于Jakarta EE新手,包括: 使用流行的IDE设置本地开发环境,例如: Apache NetBeans IDE Eclipse IDE IntelliJ IDEA。 在流行的应用程序服务器上部署和运行应用程序,例如: 玻璃鱼野蝇开放自由使用Junit...
采用Netbeans、Eclipse、Oracle、Tomcat 等作为开发工具,在持久层使用轻量级ORM 开源框架Hibernate 技术,结合DAO 设计模式。用Spring 的IOC 和AOP 技术对持 久层和业务逻辑层对象进行管理,为web 应用提供事务管理...
应用程序本身展示了如何在不使用 JBoss 或 WebSphere 等重型应用程序服务器的情况下开发 JPA/JSF 应用程序。 索引页上显示了一个可点击的灯泡图像,其中从数据库中获取了最后的开关状态。 bean 也是会话范围的,以...
基于Jboss+JSF+JPA+EJB3开发。 部署Java EE应用请按如下步骤进行: 1. 将mysql.sql脚本中的语句导入MySQL数据库。 可以修改tomcat、mysql两个账户的邮件地址,这样可使用自己的邮件地址来收取系统发送的邮件通知。...
并提供使用最新版本NetBeans IDE和GIassFish服务器开源版的有关说明书中不仅介绍了平台的基础知识,包括资源创建、资源注入和打包,还涵盖了多项相关技术,包括JavaServer Faces(JSF)、Java Servlet、WebSocket Java...
并提供使用最新版本NetBeans IDE和GIassFish服务器开源版的有关说明书中不仅介绍了平台的基础知识,包括资源创建、资源注入和打包,还涵盖了多项相关技术,包括JavaServer Faces(JSF)、Java Servlet、WebSocket Java...
该Web应用程序使用Java EE(JSF框架),Postgresql,Glassfish,Google Maps API,Ajax,Primefaces,Maven,Netbeans, 主要特点: 与工作机会相关的排名恢复使用以下四个标准:经验年限,学习程度,技能和语言。 ...
(二)要求使用JSF作为页面开发手段,请勿使用JSP页面。 (三)开发工具建议使用NetBeans或者Eclipse。 (四)建议使用Mysql作为数据库服务器,也可以使用JavaDB等其他数据库类产品作为数据库服务器。 三、性能要求...
学习Java EE,在开发环境上不建议再用文本编辑器,我感觉NetBeans 5.5(目前最高正式版本)很适合初学者,我个人也很喜欢NetBeans,如果你喜欢用别的IDE如Eclipse,都没问题,看自己喜欢吧。 4.1 学习JSP/Servlet ...
在windows系统中,命令行中执行ant命令时,当指定的 构建脚本文件中包含中文字符,而构建脚本文件的编码是UTF-8时将会 Invalid byte 1 of 1-byte UTF-8 sequence. 的错误.这个问题尚未 知解决,故先采用GBK的编码. 2.在...
文件有适用于Jakarta EE新手,包括: 使用流行的IDE设置本地开发环境,例如: Apache NetBeans IDE Eclipse IDE IntelliJ IDEA。 在流行的应用程序服务器上部署和运行应用程序,例如: 玻璃鱼野蝇开放自由使用Junit...
Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...