tapestry框架:

一个非常非常老的框架,但是项目在用,所以在此简单学习一番。

首先来个hello word的例子:

首先新建个javaee项目,过程略

然后开始导包,需要的包如下:

将包全部导入到lib目录下。

然后在WebContent下新建两个文件:

Home.page
Home.html

在src下新建一个包,例如:

com.wxg.page

新建一个类:

Home.java

这个类继承自:BasePage

各个文件源码如下:

Home.page:

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE page-specification PUBLIC"-//Apache Software Foundation//Tapestry Specification 3.0//EN""http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd"><page-specification class="com.wxg.page.Home"></page-specification>

Home.html:

<span jwcid="@Insert" value="ognl:helloWorld" ></span>

Home.java

    public class Home extends BasePage {public String getHelloWorld() {return "Hello world ";}}

然后在web.xml中增加配置

<servlet><servlet-name>app</servlet-name><servlet-class>org.apache.tapestry.ApplicationServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>app</servlet-name><url-pattern>/</url-pattern></servlet-mapping>

然后右键项目运行,run on server

访问:http://localhost:8080/app/

输出如下:

输出 Hello Word

也就是输出getHelloWorld()的返回值。


现在来学习一下几个文件的作用:

具体作用自己也不是很清楚,大概如下:

Home.html:一个html文件用于展示,通过ongl表达式动态获取后台数据。

Home.page:连接html和java程序(Page类)的桥梁。

这个不是相当于struts的action嘛?或者相当于Controller的RequestMapping?都是把html文件与java类关联起来。

Home.java:实际处理数据的地方。

整体就是一个Page类对应一个page文件对应一个html(大概是这样)。

不过我还是觉得Thymeleaf模板引擎好用,简介方便,并且完全前后分离,可以并行开发。

导师说框架了解一下就好了,最近要换新的框架,但还不知道是什么,所以准备把Oracla sql语句多学习一下,框架就忽略一下了。

【工作笔记】004 tapestry框架相关推荐

  1. 组件注册_使用_命名规则_以及Nacos中给每个服务配置访问前缀---SpringCloud Alibaba_若依微服务框架改造---工作笔记004

    使用某个组件,比如我要使用: components文件夹中的Rouyi这个文件夹下的组件的话, import RouYiGit from '@/components/Rouyi/Git' import ...

  2. Qt工作笔记-图形视图框架中的分组,以及添加平行拖动图元

    啥意思,感觉本人语文学得菜,不好描述. 直接看程序运行截图: 1.隐藏鼠标: 2.图元分组: 3.视图与场景坐标转换 程序源码如下: mygraphicsitem.h #ifndef MYGRAPHI ...

  3. 大数据之_数据采集Flume_架构---Flume工作笔记004

    然后我们来看flume的基础架构 可以看到,其实就是,web server等产生了日志数据,比如一个日志文件,然后 这个日志文件,会被作为source数据源,这个数据源是一个日志文件,也可以是一个端口 ...

  4. Error: EBUSY: resource busy or locked, lstat ‘D:\DumpStack.log.---基于Vue的uniapp手机端_前端UI_uview工作笔记004

    这个错误:很气人: To install it, you can run: npm install --save element-china-area-data Error from chokidar ...

  5. webpack打包样式资源_使用loader去打包css文件_打包less文件---webpack工作笔记004

    然后我们再来看看,怎么用webpack打包css资源文件, 因为我们知道webpack可以直接处理js,json文件,但是不能直接处理css文件,img文件对吧.. 我们现在,通过webpack的组件 ...

  6. npm的常用配置项---npm工作笔记004

    然后我们再去看看npm的一些常用的一些配置 可以看到我们初始化的时候用的是 npm init -y 或者 npm init --yes 这里我们添加-y,的作用是,后面他如果出现一些需要我们确认的,输 ...

  7. Element-UI-的登录页面_密码框---Element-UI工作笔记004

    然后我们来做一个密码登录框 点击登录可以把登录的内容,给弹出来. 先分析一下,我们最上面有空白部分是一个行,el-row 然后中间也是一个行el-row 而且我们中间这个行,利用中间8列,左边偏移8列 ...

  8. axios_的基本使用_使用axios()方法来发送请求---axios工作笔记004

    然后我们来看一下axios的基本使用,上面 有用bootstrap生成的4个按钮 我们上面有axios的js,文件,我们拿过来 拿过来以后,上面这个axios的js文件 然后,上面如果不懂link c ...

  9. Sharding-Sphere,Sharding-JDBC_分库分表(水平分库_水平分表)_Sharding-Sphere,Sharding-JDBC分布式_分库分表工作笔记004

    然后我们前面说了垂直分库,分表,我们要了解什么是垂直分库分表 1.垂直分表,就是比如,我们有个课程的表,但是我们数据量太大的话,我们把这个课程表,可以分成 课程基本信息表,课程描述表,这两个表,这样的 ...

最新文章

  1. CUDA 11功能清单
  2. 《GPU高性能编程CUDA实战》中代码整理
  3. 再见,Postman...
  4. window.atob()与window.btoa()方法实现编码与解码
  5. 汇编语言-010(循环移位ROL,ROR 、进位循环进位RCL,RCR 、有符号数溢出 、双精度移位SHLD,SHRD、SHL和ADD计算 、位运算应用)
  6. require.js用法简介
  7. SpringCloud学习之路(一)-简单Demo
  8. php4 apache 配置,[开发环境配置]windows下php4+mysql4+apache2开发环境配置
  9. java定义接口规范_关于java的接口的一些规范
  10. shell下将文件中的分隔符从‘\t‘转换成‘,‘
  11. 远程服务器 上传公钥,SSH远程连接报错Permission denied (publickey)
  12. 如何通过事件可视化分析?
  13. python表白程序exe_表白小姐姐的Python程序
  14. 移动2班徐斌1803230241
  15. python个人简历参考,python爬虫-1w+套个人简历模板爬取
  16. PPT中插入avi、mpg、flv、swf及rm、rmvb等视频文件的方法
  17. 牛客网SQL大厂面试真题(二)
  18. 1.调查问卷-接口文档
  19. 嵌入式软件设计第十次实验报告-140201235-陈宇
  20. Fb广告投放如何代投放

热门文章

  1. 汇编移位指令SHR,SAR,SAL/SHL,ROR,ROL,RCR,RCL
  2. 小木工 ____农民工纪事之一
  3. 2.4 深入理解PackageManagerService
  4. 读书笔记 - 《基业长青》
  5. 1007 Maximum Subsequence Sum (25 分) java 题解
  6. Excel隔行求和计算公式
  7. 程序员面试中一面、二面、三面有什么区别?
  8. 电子产品加拿大IC认证(ISED)指南
  9. 基于协同过滤的电影推荐
  10. 2021-10-20:分数到小数。给定两个整数,分别表示分数的分子numerator和分母denominator,以字符串形式返回小数。如果小数部分为循环小数,则将循环的部分括在括号内。输入: num