




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、 Wicket的helloworld21. 所需配置:22. 操作步骤:2二、wicket的重点内容41. 单行信息输出控件Label42.多行信息输出控件MutlineLabel53.组合面板54. 组合面板Panel65. 边框控件 Border66. 包含控件67. 超链接控件68. 信息输出控件89. 数据列表控件1410. 日历控件1611. 国际化171、 Wicket的helloworld1. 所需配置:a) Jdk 1.7b) Eclipse c) Tomcat 72. 操作步骤:a) 新建Dynamic Web Project项目,命名为WicketDemo,导入所需要的jar包: commons-collections-3.2.1.jarcommons-lang-2.4.jarcommons-logging-1.2.jarehcache-2.10.2.jarjcaptcha-all-1.0-rc-2.0.1.jarlog4j-1.2.15.jarslf4j-api-1.7.21.jarslf4j-nop-1.7.21.jarwicket-core-1.5.15.jarwicket-extensions-1.5.15.jarwicket-request-1.5.15.jarwicket-util-1.5.15.jar b) 新建HelloWorldPage.html,其中内容为以下: Insert title here我要在这里输出HelloWorld c) 新建与页面交互的java类HelloWorldPage,需要继承WebPage类,并且为其写为前台赋值的方法。 public class HelloWorldPage extends WebPageprivate static final long serialVersionUID=1L; public HelloWorldPage() add(new Label(message,显示中文吧!); d) 新建处理请求的类,HelloWorldApplication,并且对应到之前建立的交互类上: public class HelloWorldApplication extends WebApplication Override public Class getHomePage() return HelloWorldPage.class; e)之后需要将建立的类在web.xml中配置好,配置文件为: WicketDemoHelloWorldAtocol.http.WicketServletapplicationClassNamecom.wicket.demo.one.HelloWorldApplicationHelloWorldApplication/helloWorld/*index.htmlindex.htmindex.jspdefault.htmldefault.htmdefault.jsp之后,将项目部署在tomcat上,并且启动tomcat,之后访问http:/localhost:8080/WicketDemo/helloWorld/就可以访问到了,显示出来的页面为:二、wicket的重点内容1. 单行信息输出控件Label Label可以用label标签和span标签来定义,定义的时候,二者都可以通用,如果需要取消转义,通过调用setEscapeModelStrings(false)方法来取消转义操作。 Label label = new Label(message,你好,欢迎来到wicket世界!);label.setEscapeModelStrings(false);add(label);页面显示为:2.多行信息输出控件MutlineLabelMultiLineLabel的使用方法和Label是一样的,两者其实没有太大的区别,只不过它可以将n这种换行符号转换成从而实现换行。因为在Html页面中,只认识。在Label的演示代码,尽管使用了用户名称n生日为这样带有换行符的字符串,但客户端得到的文字并没有换行。使用Label和MultiLineLabel控件,会分别得到如下的Html代码:用户名称生日为用户名称生日为 3.组合面板WebMarkupContaier继承自MarkUpContaier,表明自身是一个可以容纳其它Wicket控件的Wicket控件容器。通常,使用WebMarkupContaier有两个目的1. 可以将同一类型的信息包含在一个WebMarkupContaier中,如果有必要的话,只需要掩藏这个Panel,就可以隐藏所有的控件了2. 可以将WebMarkupContaier声明为一个封装后的Wicket控件,从而实现控件复用。首先在页面中声明一个WebMarkUpContaier控件:之后在java代码中处理:备注:在1.5.15中WebMarkUpContaier变成了WebMarkupContaier。4. 组合面板Panel该类继承上面的类,但是却比上边的类多了对于Panel描述的功能,Panel继承自WebMarkupContainerWithAssociatedMarkup,而非WebMarkupContainer,除了表明自身是一个可以容纳其它Wicket控件的Wicket控件容器,另外也表示它需要一个相应的Html文件来描述相应的控件。5. 边框控件 BorderBorder的用法的panel相似,但是推荐不过多使用控件,相比而言管理起来比较好管理。6. 包含控件Include,可以包含静态页面,和jsp页面的include标签是一样的功能,但是只能包含静态的东西 如果是动态的,还是只能用panel来处理相关。使用方式:页面显示:7. 超链接控件a) 普通链接:直接用link调用,但是这样如果要传递参数,参数只会在url上显示。页面代码:页面显示为:b) 外部链接控件ExternalLink该控件可以用于友情链接,可以关联外部网站。Java代码:Html代码:显示后内容:c) 页面链接控件这个是在页面之间传递使用,在Wicket应用程序中,每一个链接最终指向的都是一个WebPage的实例。所以如果仅仅页面转向,建议使用PageLink。Wicket1.5.5中没有PageLink这个类,暂时没有找到可以替代的类。d) 书签链接控件这个代码有问题,需研究后添加。8. 信息输出控件this.add(newFeedbackPanel(feedback)Formform= newForm(form)protectedvoidonSubmit()info(theformwassubmitted!)/这里用来在FeedbackPanel输出信息form.add(.)/在这里添加表单中的输入控件this.add(form) A) Button控件:Java代码:Html代码:Info内的信息就是在id为feedback内部显示的信息,也就是相当于可以进行验证。B)提交链接Java代码:Html代码:C) 输入文本控件:第一种直接定义,第二种做了类型验证。第二种验证如果不符合的时候,会提示错误信息。D)支持数据必填的文本控件需要将上面的TextField控件改成RequiredTextField即可,这里就直接要求必填。E) 密码输入控件对应的是页面上的passwor类型的textfield。F) 多行输入文本控件对应页面textarea。G) 选择框控件H) 选择框组控件Java代码:Html代码:显示:I) 增强的多选框控件在编写Web程序的时候,通常会使用表格来输出一个数据列表,并为每一行都提供了一个选择框,而且为了方便用户进行操作,通常还会提供一个选择框进行全选/取消全选的操作。为了方便此类程序的开发,Wicket提供了一个增强的多选框。Java代码:Html代码:显示:这个方法可以用来进行多选删除 或者多选操作。J) 下拉框控件下拉框是用来支持用户单选一个数据的Html控件,使用方法与前面的CheckBoxMultipleChoice非常相似。它和CheckBoxMultipleChoice都使用同一个Renderer接口IChoiceRenderer,下面的代码也表示了两者是如何的相似。 Java代码:Html代码:高亮处必须,否则显示异常显示:K) 单选按钮与增强单选按钮Java代码:Html代码:显示:L) 图像控件Wicket所提供的Image控件功能非常强大,不仅可以显示一个静态的图像,还可以在服务器端生成动态图像显示在客户端。这样就为图表的显示提供了方便的处理。使用静态图像必须提供一个已有的图像文件,而使用动态图像则只需要重载一个renderer方法以动态输出图像。Java代码:Html代码:显示:M) 文件上传控件Java代码:Html代码:显示:文件上传后在D盘生成一个1.gif的图片文件。9. 数据列表控件 A) 普通数据列表控件Java代码:需要名称对应。Html代码:显示:B) 支持数据分页的列表控件 PageableListView1.5.5中的需要特殊一点,代码如下:Java代码:实体中,如果需要单选多选的时候,需要在实体中建立一个对应的字段,如果没有的话会报错。这里的link需要单独定以后再放入item中,不能直接合并,否则会报错。Html代码:显示:这里的数据需要初始化,初始化代码不写了。10. 日历控件1.5.5版本中提供了专门的时间插件类,可以直接调用。Java代码:Html代码:显示:这个是只显示年月日的时间组件。11. 国际化国际化关键是需要有一个和那个原本html内容一样,但是名字类似的文件*_zh_CN.html,如果是在中国,wicket会默认去找这个文件,如果没有话,会选择*.html进行显示。3、 wicket简单例子之所以使用用户注册这样一个表单程序作为演示的例子,是因开发人员通常都对这样的一个例子有所了解,理解起来不存在大的问题,而且这样一个例子又具有一定的复杂度,方便讲解Wicket的各种表单控件。首先我们看一下要完成一个用户注册的功能需要什么内容: 1了解每个用户在注册时要输入的信息 2了解各个信息的验证规则 3了解注册后的数据保存在哪里为了简化程序,方便理解,这一个例子只是通过各种Wicket的Form控件来输入数据,而在以后的章节中再添加数据验证功能。经过分析,我们认为用户注册时要输入的数据有以下几个: 1用户帐号(只能是字母开头,由字母和数字组成,长度在620之间) 2用户名称(不作限制,长度在620之间) 3性别(只能选择男或女) 4用户密码(由字母和数字组成,长度在620之间) 5用户生日(介于1850年和当前年份之间) 6用户的薪水(大于或等于0的数字,但不能超过Double的上限) 7工作类型(选择,而不能填写) 8工作年限(选择,而不能填写) 9婚否(选择,而不能填写) 10爱好(多选)现在我们将根据前面的数据需求来定制控件,这里会尽量的使用前面所有的Form控件,列表如下: 1用户帐号,使用文本框(Te
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 经济型连锁酒店品牌影响力评价指标体系-洞察及研究
- 笔石生态位分化-洞察及研究
- 区块链供应商管理-洞察及研究
- 信用评分优化模型-洞察及研究
- 土壤孔隙结构与可持续农业的优化研究-洞察及研究
- 农学领域农产品质量监测方案
- 微生物生态系统监测方案
- 北塘社区服务中心工程项目质量控制的多维剖析与实践策略
- 功能对等视角下《Moment in Peking》翻译策略的多维剖析
- 创意产业组织价值共创:机理剖析与影响要素探究
- 第八届全国职工职业技能大赛(网络和信息安全管理员)海南省赛试题库-下(多选、判断题)
- QC-T 1175-2022 电动汽车用高压接触器
- 习思想以中国式现代化全面推进中华民族伟大复兴
- 学习任务十 汽车执行器电路控制与检测 (1)讲解
- 成都麓湖生态城案例详解
- 2024团校考试入团考试题库(含答案)
- 2024年第九届“学宪法 讲宪法”应知应会知识竞赛题库及答案
- 停车场(库)管理办法立法后评估报告
- 火车指导司机面试竞聘答辩问题
- 2.4水库泥沙防治-1泥沙淤积的成因危害与类型讲解
- 油品储运调合操作工(中级工)
评论
0/150
提交评论