好久没有coding了,最近准备重新复习下,现在重新开始,从搭建环境到开发来学习一些比较有用的技术。

第一个例子,是使用JSF来创建一个最简单的Web应用。

我准备的环境是Eclipse Juno Java EE版本,Web服务器是Tomcat 7.0。

1.创建一个jface1的Dynamic Web项目。然后安装JSF 2.1的库。

2.创建页面模板BasicTemplate.xhtml,然后再加上header.xhtml和footer.xhtml.

BasicTemplate.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"xmlns:ui="http://java.sun.com/jsf/facelets">
<head><title><ui:insert name="title">Facelets Tutorial</ui:insert></title>
</head><body><div id="header"><ui:insert name="header"><ui:include src="/WEB-INF/templates/header.xhtml"/></ui:insert>
</div><div id="content"><ui:insert name="content"></ui:insert>
</div><div id="footer"><ui:insert name="footer"><ui:include src="/WEB-INF/templates/footer.xhtml"/></ui:insert>
</div></body>
</html>

3.创建logon.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"xmlns:ui="http://java.sun.com/jsf/facelets"xmlns:h="http://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"><ui:composition template="/WEB-INF/templates/BasicTemplate.xhtml"><ui:define name="content"><h:form><h:panelGrid columns="2"><h:outputText value="Name"></h:outputText><h:inputText value="#{loginBean.name}"></h:inputText><h:outputText value="Password"></h:outputText><h:inputSecret value="#{loginBean.password}"></h:inputSecret></h:panelGrid><h:commandButton value="Login" action="login"></h:commandButton></h:form></ui:define>
</ui:composition>
</html>

4.创建welcome.xhtml

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"xmlns:ui="http://java.sun.com/jsf/facelets"xmlns:h="http://java.sun.com/jsf/html"xmlns:f="http://java.sun.com/jsf/core"><ui:composition template="/WEB-INF/templates/BasicTemplate.xhtml"><ui:define name="content"><h:outputLabel value="Welcome #{loginBean.name}"></h:outputLabel></ui:define></ui:composition>
</html>

5. 创建页面间的导航。

搞定。

点击Login按钮:

小结:

一个HelloWorld的JSF应用,可以看到新的Facelet的页面模板很方便,还有页面导航的功能也很有意思。

Web编程学习一: 使用JSF来创建Web应用相关推荐

  1. WEB编程学习之Eclipse编译JSP

    前言 继续学Java WEB编程,学到了动态界面,用到了JSP,查了资料发现,原来JSP也能用Eclipse搞,整起 本文原创,创作不易,转载请注明!!! 本文链接 个人博客:https://rong ...

  2. WEB编程学习之配置阿里云+宝塔+WordPress

    前言 最近学习web编程,学习服务器,总想实践搞一搞,决定搞一个个人博客网玩一玩,写一些随笔和学习笔记,正好最近买了阿里云服务器和域名,总不能浪费.网页的搭建,其实不仅仅可以用宝塔+wordpress ...

  3. WEB编程学习之Windows安装运行Tomcat

    前言 本博客主要记录在学习web编程中,在Windows10系统下,安装运行Tomcat服务器,以及所遇到的常见问题以及解决方案. 本文原创,创作不易,转载请注明!!! 本文链接 个人博客:https ...

  4. 2022年8月10日:使用 ASP.NET Core 为初学者构建 Web 应用程序--使用 ASP.NET Core 创建 Web UI(没看懂需要再看一遍)

    ASP.NET Core 支持使用名为 Razor 的本地模板化引擎创建网页. 本模块介绍了如何使用 Razor 和 ASP.NET Core 创建网页. 简介 通过在首选终端中运行以下命令,确保已安 ...

  5. python网络编程学习笔记(6):Web客户端访问

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyi 6.1 最简单的爬虫 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.pyt ...

  6. python网络编程web教程_python网络编程学习笔记(6):Web客户端访问

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyi 6.1 最简单的爬虫 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成.pyt ...

  7. Fanuc机器人 Karel 编程学习(一)---ROBOGUIDE创建WorkCell

    Fanuc虚拟机器人的创建 软件:FANUC ROBOGUIDE(V9.10) 新建cell 第一步:根据需要选择作业类型,我这里选择的是"HandingPRO",选择好之后点击按 ...

  8. WEB编程学习之Wordpress发送邮件

    前言 wordpress的插件系统十分方便,用起来也方便,但是,最近设置发送邮件总是错误,SMTP:436,网上也查不到相关信息,坑了我好久,不断尝试之下,终于解决了,先说结论,阿里云禁用了默认邮箱端 ...

  9. web service 学习 2 -- 什么时候应该使用web service

    列举三种情况,将发现使用web service带来极大的好处.   跨越防火墙的通信     如果你的应用程序有成千上万的用户,而且他们都分布在世界各地,那么客户端和服务器之间的通信将是一个棘手的问题 ...

  10. MyEclipse教程:Web开发——创建Web片段项目

    MyEclipse 在线订购年终抄底促销!火爆开抢>> MyEclipse最新版下载 本教程向用户展示了使用关联的Web项目创建Web片段项目的机制. 用户还可以获得要检查的示例项目. 在 ...

最新文章

  1. makefile多文件编译
  2. html多窗口排列顺序,多窗口页面(Frames)
  3. 华为手机微信网络连接到服务器失败怎么办,微信H5支付在华为手机里报错 网络环境未能通过安全验证,请稍后再试 怎么解决啊 试了好多方法也不行...
  4. k8s 服务发现:通过CoreDNS域名访问service服务
  5. 扩展系统功能——装饰模式
  6. SpringFramework4系列之SpringJMS:(一)搭建JMS-注解加XML版
  7. jquery中post,get,ajax请求相关
  8. oracle故障一例,工作中遇到的oracle故障分析和处理一例
  9. 2015蓝桥杯省赛---java---A---9(垒筛子)
  10. 路由器 VS OSI七层模型
  11. 科研福利!北京超算获通用CPU算力第一,2000核时免费领取
  12. java 字符串每隔两位插入一个字符
  13. input文字垂直居中_CSS的带文字居中分析
  14. Linux平台vsftp创建帐号
  15. List of X$ Tables and how the names are derived
  16. 第一代测序(Sanger测序)
  17. 25.有5个人做在一起, 问第五个人多少岁? 他说比第四个人大2岁. 问第四个人岁数, 他说比第是三个人大2岁. 问第三个人, 又说比第二人大两岁. 问第二个人, 说比第一个人大两岁. 最后问第一个人
  18. echarts 旭日图sunburst
  19. C++教程网 linux之miniShell的实战
  20. 用python画枫叶代码-Python自定义函数基础

热门文章

  1. 十一、垃圾回收策略配置
  2. Maven的dependencies与dependencyManagement用法区别
  3. 【Selenium2】【项目实战】
  4. JAVA-JSP内置对象之request获得所有的参数名称
  5. FFT(不ji是干甚用的diao操作)
  6. Erlang中的RSA签名
  7. javaweb前后台中文参数乱码
  8. Java知多少(51)finally
  9. 华为鸿蒙被卖了,8%!被卖掉的荣耀过的日子,与华为越来越不同了!
  10. 用Markdown记笔记后转换成html