我们编写一个在页面上显示是“Hello World! ”,我们至少需要编写一个Page对象和一个对应模板文件(tml)。
第一步,Page对象编写
在Tapestry5中Page是与一个页面对应的POJO对象,它不需要继承Tapestry框架的任何基类或实现任何接口,但是随着我们业务变得复杂Page会增加,在它的内部会增加一些事件处理方法和Annotations(标注)。
作为第一个运行的首页面的Page对象命名是有规定的“Start”,当然我们还可以设定成为别的命名“Start”是默认的命名,而且它必须放在“com.kingbegin.web.pages”包下面,Start.java的代码如清单所示。

  1. package com.kingbegin.web.pages;
  2. public class Start {
  3. private String message;
  4. public String getMessage() {
  5. return "Hello World!";
  6. }
  7. }

从程序清单我们message属性和对message属性访问的getMessage方法以备页面中显示。
第二步,编写模板文件
与Page对象Start.java对应的模板文件是Start.tml,它的存放位置有两个地方一个是与Page对象Start.java放在同一个包下面<tapestry5-first工程路径>\src\com\kingbegin\web\pages目录下,另外一处是放在WEB-INF(<tapestry5-first工程路径>\WebRoot\WEB-INF)目录下。Start.tml代码如清单所示。

  1. <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
  2. <head>
  3. <title>第一个Tapestry页面</title>
  4. </head>
  5. <body>
  6. <h1>
  7. 第一个Tapestry页面
  8. </h1>
  9. <h2 id="label1">
  10. ${message}
  11. </h2>
  12. </body>
  13. </html>

从程序清单Start.tml文件本质是一个XHTML文件,它使用了Tapestry5命名空间——xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd",在模板文件中还混合有表达式语言“${message}”,表达式语言可以读取Page对象数据,此外在模板文件中还会有反映控件的标签元素,进一步实现与Page对象的交互。

JSF实现“Hello World!”相关推荐

  1. JSF和Struts的区别概述

    据说JSF的主要负责人就是struts的主要作者,所以二者的相似点还是有很多的. 都采用taglib来处理表示层:在jsp页面中,二者都是采用一套标记库来处理页面的表示和model层的交互. 二者都采 ...

  2. 表现层框架Struts/Tapestry/JSF架构比较 [转]

    http://www.jdon.com/artichect/sjt.htm Struts/Tapestry/JSF是目前J2EE表现层新老组合的框架技术.从诞生时间上看,Struts应该比较早,使用得 ...

  3. jsf mysql_如何在Spring JSF MySQL应用程序中正确显示阿拉伯文?

    我使用Spring 3,JSF 2,MYSQL,Hibernate和Heidi SQL是数据库的GUI工具 我有一个阿拉伯字符的编码问题是阿拉伯语单词作为??????????插入到数据库中,并以相同的 ...

  4. AJAX+JSF组件实现高性能的文件上载

    一. 引言 基于浏览器的文件上传,特别是对于通过<input type="file">标签包含到Web页面来实现上传的情况,还存在较严重的性能问题.我们知道,超过10M ...

  5. 润乾报表JSF FORM 标签中使用填报表解决方案

     需求 润乾报表的标签需要在jsf页面中和其他填报控件一起使用,润乾报表负责展现录入部分数据,并且这部分数据和页面的其它控件的数据存在前台和后台的交互. 问题 润乾报表在前台会生成自己的form, ...

  6. JSF中的h:commandLink如何传递参数 三种取值比较

    声明本人刚学jsf三天 如有不足请指教.... 本人总结了三种取得参数的方法 这是jsf中的代码 <h:commandLink  action="#{}">       ...

  7. jsf如何通过按钮切换在同一个页面上的非公共部分显示不同的内容

    2019独角兽企业重金招聘Python工程师标准>>> 在jsf中,同一个页面上有公有的内容,也有非公有的内容,通过一个按钮进行切换来显示不同的内容(通过ajax实现):    前台 ...

  8. jsf登录注册页面_您将在下一个项目中使用JSF吗?

    jsf登录注册页面 上周有一篇很棒的stackoverflow博客文章,主题是" Javascript框架的残酷生命周期" . 这篇文章是关于Javascript UI框架(ang ...

  9. html jsf ajax blur,JSF和AJAX:隐藏网站的一部分,直到第一个Ajax请求

    我想创建一个页面,其中一些内容将在ajax请求后显示.这里是我的代码部分:JSF和AJAX:隐藏网站的一部分,直到第一个Ajax请求 Retrive object by id: You retrive ...

  10. JSF or PHP or ADF?!! :(

    最近要写一个WEB程序,PHP, JSF 2.0, ADF三种技术,考虑了半天都没确定用哪一种.三种都各有优缺点,真tm郁闷.

最新文章

  1. 02HTML标签(上)
  2. swagger Illegal DefaultValue null for parameter type integer
  3. 浅谈List保存的数据是引用数据类型的地址
  4. java五子棋以当前空位为中心 取9个点_java 五子棋有点问题,哪位帮忙破一下、、...
  5. 用pkg给手机装linux,pkg-config的使用方法
  6. Linux vim编辑器常用命令
  7. Spark SQL 1.x之SQL Context使用
  8. cursor: mutex S等待事件
  9. java 删除列 csv,Java- CSV / Delete column in csv file
  10. three 实现绕物体旋转,卫星绕星球旋转
  11. 计算机桌面怎么分区域,怎样设置电脑桌面的区域分割?
  12. 线性同余法生成随机数
  13. 计算机无法投影,电脑无法识别投影仪-电脑为什么检测不到投影仪,应该怎么安装...
  14. android 7.1 字体大小设置,微信安卓版7.0.4字体大小被吐槽,微信官方回应又被吐槽...
  15. android 仿新浪微博转发 评论悬浮框的功能
  16. Serialize Your Deck with Positron [XML Serialization, XSD, C#]
  17. 射极跟随器的负载加重情况
  18. 腾讯多媒体实验室画质增强技术的前沿应用
  19. 广告主流量主怎么申请(微信)
  20. 在线博客系统——文章详情(redis incr自增实现增加阅读数和评论数)

热门文章

  1. 凯文凯利:未来世界发展七大趋势
  2. **使用 Git Hook 实现网站的自动部署
  3. HTTP的KeepAlive是开启还是关闭?
  4. log parser 微软iis 日志分析
  5. MVC使用Flash来显示图片
  6. ospf路由汇总的目的
  7. 区块链笔记-Hash算法
  8. 时间同步服务器(默认)chrony和ntp
  9. 7个面向对象常用原则的中英文名、别名、定义及显著特点
  10. python字符照片_python图片转字符图片