`
fftiger
  • 浏览: 11871 次
  • 性别: Icon_minigender_1
社区版块
存档分类

wiket 之初识model-1

 
阅读更多

wicket同所有的 MVC 框架一样,拥有自己 Model 层,并通过自己的 Model 向控件提
供数据,控件可以从 Model 中取得数据,还可以将数据保存到 Model 中。

wicket.model.IModel 这样一个接口作为 Model 层。而将具体模型结构的处理交给控件。如
Label 控件只需要从 Model 中取得一个字符串,或者一个能够转成字符串的对象即可,而
ListView 就需要一个 List,从而提供多条数据。

1、最简单的Model,wicket.model.Model,支持支持放入一个对象,然后取出一个对象,当然对象必须实现Serializable接口。

new Label("xx", "xxxxxxx")
//直接使用字符串来构造对象,内部封装了Model

2、支持国际化的  Model

Wicket 为了更好的支持国际化,所以提供了一个 StringResourceModel 来自动将 Properties 文件中的数据转换成 Model 中的字符串数据,而且它还支持 format,可以将字符串中的变量进行文字替换,可以有效的简化开发工作。

a、使用User bean

UserInfo_zh_CN.properties

#用户名是

name=\u7528\u6237\u540D\u662F\${name}  

#出生日期是
birthday=\u51FA\u751F\u65E5\u671F\u4E3A${birthday}

 

UserInfo.html

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<span wicket:id="name">用户名</span>
<BR />
<span wicket:id="birthday">生日</span>
</body>
</html>

 

java

UserInfo.java

package com.wicket;

import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.StringResourceModel;

public class UserInfo  extends WebPage {
    public UserInfo() {
        User user=new User();
        user.setName("小明");
        StringResourceModel nameModel=new StringResourceModel("name", this, new Model(user));
        add(new Label("name", nameModel));
        StringResourceModel birthdayModel =  new StringResourceModel("birthday", this,new Model(user));
        add( new Label("birthday", birthdayModel));
    }
}
b、使用map,省略bean文件,减少了一个类的数量

package com.wicket;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;

import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.StringResourceModel;

public class UserInfo  extends WebPage {
    public UserInfo() {
       
    //    User user=new User();
        //user.setName("小明");
        /*
         * 省略User bean对象
         */
        Map user=new HashMap();
        user.put("name","小明");
        user.put("birthday", new Date());
        StringResourceModel nameModel=new StringResourceModel("name", this, new Model((Serializable) user));
        add(new Label("name", nameModel));
        StringResourceModel birthdayModel =  new StringResourceModel("birthday", this,new Model((Serializable) user));
        add( new Label("birthday", birthdayModel));
     
    }

}

 

分享到:
评论

相关推荐

    IoT-Camera学习笔记之初识IoT-Camera

    IoT-Camera学习笔记之初识IoT-Camera

    初识Python-公共课-pdf.zip

    “初识Python-公共课-pdf.zip”是一个为编程初学者量身打造的压缩包文件,它通过提供PDF格式的学习资料,帮助用户快速入门Python编程,掌握编程的基本概念和技能,为未来的编程之旅打下坚实的基础。

    01初识Scratch-游来游去的小鱼.pdf

    01初识Scratch-游来游去的小鱼

    oracle安装-卸载-初识oracle-笔记

    【Oracle安装-卸载-初识Oracle-笔记】 Oracle是一种广泛应用的关系型数据库管理系统,尤其在企业级应用中占据重要地位。对于初次接触Oracle的人来说,理解其安装、卸载过程及基本操作是至关重要的。 一、下载地址 ...

    Python爬虫超级大神班-requests进阶-初识反爬- Scrapy处理翻页与实现模拟登录

    04-requests进阶-初识反爬 03-数据解析 02-爬虫概念 01-Python基础 6.9 Scrapy处理翻页与实现模拟登录1 .mp4 817.6MB 6.8 Scrapy实战案例一1 .mp4 694.7MB 6.7 Scrapy基本使用入门 .mp4 1.9GB 6.6 MongoDB...

    初识C语言 - 复习.zip

    1. 变量与数据类型:C语言提供了多种数据类型,如int(整型)、char(字符型)、float(浮点型)和double(双精度浮点型)。变量是存储数据的容器,声明变量时需要指定其数据类型。 2. 运算符:C语言支持算术运算符...

    2024最新Python视频,附课件、代码及软件.zip

    002-初识python-python介绍 003-初识python-软件安装 004-初识python-windows软件安装 005-初识python-mac软件安装 006-第1个程序-新建项目 007-第1个程序-注释 008-第1个程序-打印变量 009-第1个程序-一行打印多个...

    初识Hive--精华

    1、hive的产生背景 2、hive的定义 3、hive的本地安装 4、hive的基本类型 5、hive的基本命令

    初识Firebug全文--Firebug的使用.mht

    初识Firebug全文--Firebug的使用.mht初识Firebug全文--Firebug的使用.mht初识Firebug全文--Firebug的使用.mht初识Firebug全文--Firebug的使用.mht初识Firebug全文--Firebug的使用.mht初识Firebug全文--Firebug的使用...

    初识rosetta-workshop课件1-introduction(英文版)

    初识 Rosetta Workshop 课件 1 - Introduction (英文版) 在这篇课件中,我们将介绍 Rosetta 的基本概念和使用方法,包括如何运行基本的 Rosetta 应用程序、输入/输出文件类型、选项等,以及如何导航 Rosetta。 ...

    《初识windows--XP》参考教案1.doc

    windows

    初识PLC-认识FXN系列PLC共8页.pdf.zip

    【标题】:“初识PLC-认识FXN系列PLC共8页.pdf.zip”提示我们,这个压缩包文件包含了一份关于初步了解可编程逻辑控制器(PLC)的文档,特别是针对FXN系列的PLC。FXN系列是三菱电机推出的 PLC 产品线,常见于工业自动...

    初识PLC-PLC性能共28页.pdf.zip

    1. **处理速度**:PLC的运行速度通常以毫秒或微秒计算,高速的CPU使得PLC能快速响应输入变化,实现精准控制。 2. **输入/输出能力**:PLC的I/O点数决定了它可以连接的传感器和执行器数量,不同的PLC型号具有不同数量...

    初识CMMI-培训教材

    **CMMI(Capability Maturity Model Integration)**,即能力成熟度模型集成,是一种用于评估组织在软件开发、系统工程、服务提供等过程改进领域的框架。CMMI由美国卡内基梅隆大学的软件工程研究所(SEI)开发,旨在...

    初识MFC-MFC视频播放器.rar_MFC视频播放器_mfc 播放视频_mfc播放器_视频播放_视频播放器

    1. MFC基础 MFC由一系列的类组成,这些类代表了Windows操作系统中的各种对象,如窗口、菜单、对话框、控件等。MFC的设计遵循了面向对象的原则,使得开发者可以通过继承、封装和多态性来构建应用。例如,CWnd类是...

    第1章-初识Visual-Basic-NETppt课件(全).ppt

    【初识Visual Basic .NET】 Visual Basic .NET(VB.NET)是Microsoft公司在.NET Framework框架下推出的一种面向对象的编程语言,它继承了Visual Basic的传统语法,并融入了现代编程语言的特点,使得开发者能够更高效...

    项目二 初识物联网-任务1掌握物联网的基本概念.pptx

    ### 项目二 初识物联网—任务1:掌握物联网的基本概念 #### 一、引言 随着科技的进步,物联网(Internet of Things, IoT)已成为推动信息产业发展的重要力量。本章节通过对一个具体案例——智能定位手表的介绍,...

    让不懂编程的人爱上Unity3d游戏开发002-初识神兵-电子游戏行业编年史1

    ,该游戏在PDP-1小型机上运行,受到了广泛欢迎。到了1971年,第一款街机游戏Computer Space问世,电子游戏逐渐普及。1972年,Atari公司的成立对游戏行业产生了深远影响,不仅推动了游戏行业的繁荣,也为后来的个人...

    1.初识敏捷-敏捷项目管理培训系列课程.pptx

    介绍了敏捷开发模式的发展阶段,通过实际案例,分享敏捷开发的框架,精神及原则。

    初中信息技术-初识python-课件.ppt

    以下是对"初识Python"这一主题的详细讲解: 1. **启动与简单的计算**: Python可以通过交互式界面运行,比如IDLE。在这个环境中,你可以直接输入代码并立即看到结果。例如,输入`print("hello world!")`会打印出...

Global site tag (gtag.js) - Google Analytics