`
Linuxboy
  • 浏览: 76947 次
  • 来自: ...
社区版块
存档分类
最新评论

T5学习小结(Form的基本应用)

阅读更多

一个简单的Login流程:Login.html -> Start.html
Login.html


xml 代码

 
  1. <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">  
  2. <head>  
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>  
  4. <title>login test pagetitle>  
  5. head>  
  6. <body>  
  7. Please input your name:    
  8. <p>  
  9. <form t:id="form" t:type="Form">  
  10. Name:<input type="text" t:type="TextField" t:id="name" validate="required,minlength=3"/><br/>  
  11. <input type="submit" value="login"/>  
  12. form>  
  13. p>  
  14. body>  
  15. html>  

Login.java

java 代码
 
  1. package org.example.hilo.pages;   
  2.   
  3. import org.apache.tapestry.annotations.Component;   
  4. //import org.apache.tapestry.annotations.ComponentClass;   
  5. import org.apache.tapestry.annotations.InjectPage;   
  6. import org.apache.tapestry.annotations.OnEvent;   
  7.   
  8. import org.apache.tapestry.corelib.components.Form;   
  9.   
  10. //@ComponentClass  
  11. public class Login {   
  12.        
  13.     private String _name;   
  14.        
  15.     @Component  
  16.     private Form _form;   
  17.        
  18.     @InjectPage  
  19.     private Start _startPage;   
  20.        
  21.     public String getName(){   
  22.         return _name;   
  23.     }   
  24.     public void setName(String name){   
  25.         _name = name;   
  26.     }   
  27.        
  28.     @OnEvent("submit")   
  29.     Object onLogin(){   
  30.         //System.out.println("Name is:" + getName());   
  31.         if(_form.getHasErrors())   
  32.             return null;   
  33.         else {   
  34.             _startPage.setName(getName());   
  35.             return _startPage;   
  36.         }   
  37.     }   
  38.        
  39. }   


Start.html

xml 代码
 
  1. <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">  
  2. <head>  
  3.   
  4. <title>test page heretitle>  
  5. head>  
  6. <body>  
  7. <h1>hilo Start Pageh1>  
  8. Welcome, ${name}! [<a href="login">Relogina>]   
  9. body>  
  10. html>  

Start.java

java 代码
 
  1. package org.example.hilo.pages;   
  2.   
  3. //import org.apache.tapestry.annotations.ComponentClass;   
  4. import org.apache.tapestry.annotations.OnEvent;   
  5. import org.apache.tapestry.annotations.Persist;   
  6. //import org.apache.tapestry.annotations.Retain;   
  7.   
  8. //@ComponentClass  
  9. public class Start {   
  10.        
  11.     @Persist  
  12.     private String _name;   
  13.            
  14.     public String getName(){   
  15.         return _name;   
  16.     }   
  17.     public void setName(String name){   
  18.         _name = name;   
  19.     }   
  20.        
  21. }   
  22.   


小结:

1.不能简化T5的一些template标记,尤其是t:type,比如<form t:type="Form" t:id="form">中,没有t:type="Form"的话,这个form只是个摆设;另外,<input t:type="TextField" ...>省略t:type的话,这个input框就不能进行validate了。   

2.目前测试是结果是<input ....>中,存在t:type标记的话,t:validate和validate效果等同。   

3.Start页面中的private String _name;要实现持久化,可以使用@Retain 或 @Persist两个annotation的任一个,但没有研究过源代码,不清楚两者的分别。   

4.Start页面还未实现页面保护,可以任意访问。页面保护的方法有哪位高手可以指点一下?   

5.不知如何实现<input type="reset">按钮的功能?

备注:5.0.2已经不需要通过@ComponentClass来声明一个页面类了。

分享到:
评论
2 楼 Linuxboy 2007-02-28  
我之前试过用“<input type="reset">”的,的确不行;但现在换了5.0.2之后,发现可以reset了。

5.0.2多了page navigation的内容,我也看到了,用onActivate()方法就可以实现页面保护了。

谢谢你!
1 楼 liigo 2007-02-28  
4.

String onActivate()
{
    if(未登录)
        return "login"; //重定向到login页面
}

5.

直接“<input type="reset">”不就行了?

相关推荐

    T5L DGUSII 应用开发指南202007101

    《T5L DGUSII 应用开发指南202007101》是北京迪文科技有限公司提供的一份详细的技术文档,旨在帮助开发者...通过学习和实践这份指南,开发者能够迅速掌握T5L产品的DGUS II应用开发,实现高效、高质量的屏幕应用设计。

    T5L DGUSII 应用开发指南20210510.pdf

    * 在进行应用开发时,需要了解 T5L ASIC 芯片的基本信息和特点,以及 T5L_DGUS II 开发体系的架构和组成。 结论 T5L DGUSII 应用开发指南为开发者提供了详细的指导和信息,帮助他们快速上手 T5L DGUSII 应用开发。...

    T5L DGUSII 应用开发指南190603.pdf

    ### T5L DGUSII 应用开发指南关键知识点总结 #### 一、快速上手章节解析 **1.1 型号命名规则** - **产品线编码**: DM表示迪文智能屏产品线。 - **颜色编码**: - B: 单色 - D: 256色 - T: 65K色 - G: 16.7M色 ...

    迪文屏幕T5L DGUSII应用开发指南

    迪文屏幕T5L DGUSII应用开发指南是北京迪文科技有限公司提供的一份详尽的文档,旨在帮助开发者高效地进行串口屏的开发工作。迪文串口屏是一款基于DGUS II系统的智能显示屏,它结合了硬件与软件的优势,提供了一种...

    T5L_DGUSII_应用开发指南20191106(1).pdf

    T5L_DGUS II 应用开发指南 本文档提供了T5L_DGUS II串口屏应用开发指南,旨在帮助开发者快速上手开发T5L_DGUS II串口屏应用。下面是本文档中所涉及到的知识点: 型号命名规则 T5L_DGUS II串口屏的型号命名规则是...

    STC89C52单片机与T5UIC1屏的应用_迪文_迪文_tuic1_

    在本应用中,它被用来驱动迪文(Dimen)的T5UIC1液晶显示屏,该屏幕型号为DMT48270C043-04WR,具备显示汉字、英文和数字的能力,同时支持图形化操作如画线和绘制矩形。 迪文T5UIC1屏是迪文科技推出的一款智能显示...

    T5L开发手册及开发平台.zip

    在“T5L开发手册及开发平台.zip”压缩包中,包含了两个主要的资源,即“T5L DGUSII 应用开发指南20200710.pdf”和“DGUS_V7618.rar”。这两个文件为开发者提供了全面的T5L屏的开发指导和工具。 首先,"T5L DGUSII ...

    T5L-DGUSII-应用开发指南20210607

    ### T5L-DGUSII-应用开发指南20210607知识点解析 #### 1. 概述 T5L-DGUSII 是一款基于T5L ASIC CPU设计的应用开发平台,适用于HMI(人机交互界面)等应用场景。此平台的核心优势在于高性能、低功耗及丰富的多媒体...

    T5L -DGUS II 应用开发指南

    《T5L-DGUS II 应用开发指南》是一份详细阐述如何使用迪文科技的T5L系列ASIC芯片进行GUI应用开发的文档。T5L芯片是专为AIoT(人工智能物联网)设计的,它具备低功耗、高性价比以及图形用户界面和应用的高度集成特性...

    T5UID3?DGUSII?应用开发指南20190906_迪文d3开发指南_touch_

    开发者需要学习DGUS语言的基本语法和指令,包括对象创建、属性设置、事件处理等,以构建丰富的用户界面。手册中会详细解释如何使用DGUSII编辑器创建和编辑页面,以及如何导入和管理资源文件,如图片、字体和声音。 ...

    迪文T5L ASIC开发20191122.zip

    迪文科技是一家专注于智能显示解决方案的公司,其T5L芯片是一款集成了图形处理、触摸控制、音频处理等功能的高性能芯片,广泛应用于各种触控设备。 在这个压缩包中,我们可以预见到一系列与迪文T5L开发相关的文档、...

    含PGPR菌T5生物育苗基质的研制及其应用效果的研究

    含PGPR菌T5生物育苗基质的研制及其应用效果的研究,高琦,张杨,根际促生细菌(PGPB)为植物根际的重要微生物。本研究从实验室已筛选到的具有促生以及生物防治功能的PGPB菌株T5入手,将功能菌株保�

    人教PEP版三年级上册小学英语 Unit 5 单元知识点小结.docx

    通过这个单元的学习,学生不仅能掌握与饮食相关的基本词汇,还能学会如何礼貌地提出饮食需求,以及在餐桌上如何与他人互动。这些知识不仅有助于提升学生的英语听说能力,也有助于他们在实际生活中运用英语进行交流。

    T5L-TA指令集应用指南

    基于 T5L ASIC 的串口指令屏(TA),主要特点包括: (1)基于 T5L 双核 CPU,GUI 和 OS 核均运行在 200MHz 主频,功耗极低。 (2)24bit 真彩色显示,最大分辨率支持 1920*1080。 (3)16Mbytes 低成本 SPI ...

    爱威T5+ 效果器 调试软件

    这款软件提供了详细的参数调整和控制功能,使得用户能够根据不同的应用场景和声音需求,精细地优化T5+的效果器设置。 在音频处理领域,效果器是不可或缺的一部分,它们可以改变原始音频信号的特性,如增加混响、...

    T5LCFG汇总(仅参考)20200219_DWIN迪文T5L配置文件CFG_源码

    在IT行业中,尤其是在嵌入式显示系统开发领域,DWIN迪文T5L系列显示屏是一款广泛应用的产品。这个标题“T5LCFG汇总(仅参考)20200219_DWIN迪文T5L配置文件CFG_源码”指的是一个关于DWIN迪文T5L显示屏的配置文件集合...

    T5L芯片做主控在车载控制器行业的应用开源程序

    而T5L芯片可能采用了ARM架构,这是一种广泛应用在嵌入式系统中的处理器架构,以其灵活性和兼容性闻名。 在实际应用中,T5L芯片通过CAN总线与其他车载电子设备进行通信,如发动机管理系统、刹车系统、安全气囊等。...

Global site tag (gtag.js) - Google Analytics