zk-web应用型框架学习(一)

2024-06-10 23:08
文章标签 学习 web 框架 zk 应用型

本文主要是介绍zk-web应用型框架学习(一),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

zk是一个可以与java语言进行交互的web应用型框架,使用zk框架,一定程度上免去写javascript代码,而且能够很好的完成界面的交互。
类似于Android应用,它的前端布局也是一系列的控件,并且可以绑定一些事件。

1.eclipse下搭建zk环境

在 help–>install new software中加载插件
链接地址:http://studio.zkoss.org/resource/plugins/eclipse_4_2
见图1.zk-插件下载
下载完插件后,重启eclipse就可以创建zk工程了。也可以创建zk页面(后缀名为*.zul)

2.学习简单的zk界面

2.1 创建工程

以下创建的是maven-web工程,然后web端显示的是*.zul页面。
工程目录
pom.xml文件中要引入zk的jar包(比较多杂,所以直接贴整个文件)

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.potix</groupId><artifactId>zkdemo-Load_On_Demand___Grid</artifactId><version>8.0</version><packaging>war</packaging><properties><zk.version>8.0.3.1-Eval</zk.version><zkcharts.version>2.1.1-Eval</zkcharts.version><maven.build.timestamp.format>yyyy-MM-dd</maven.build.timestamp.format></properties><repositories><repository><id>zk repository</id><url>http://mavensync.zkoss.org/maven2</url></repository><repository><id>ZK Evaluation</id><url>http://mavensync.zkoss.org/eval</url></repository><repository><id>com.asual.maven.public</id><name>Asual Public Repository</name><url>http://www.asual.com/maven/content/groups/public</url></repository></repositories><dependencies><dependency><groupId>org.apache.velocity</groupId><artifactId>velocity</artifactId><version>1.6</version></dependency><!-- CE requirements -->      <dependency><groupId>org.zkoss.zk</groupId><artifactId>zk</artifactId><version>${zk.version}</version></dependency><dependency><groupId>org.zkoss.zk</groupId><artifactId>zhtml</artifactId><version>${zk.version}</version></dependency><dependency><groupId>org.zkoss.zk</groupId><artifactId>zml</artifactId><version>${zk.version}</version></dependency><dependency><groupId>org.zkoss.zk</groupId><artifactId>zul</artifactId><version>${zk.version}</version></dependency><dependency><groupId>org.zkoss.common</groupId><artifactId>zcommon</artifactId><version>${zk.version}</version></dependency><dependency><groupId>org.zkoss.common</groupId><artifactId>zweb</artifactId><version>${zk.version}</version></dependency><dependency><groupId>org.zkoss.common</groupId><artifactId>zel</artifactId><version>${zk.version}</version></dependency><dependency><groupId>org.zkoss.zk</groupId><artifactId>zkbind</artifactId><version>${zk.version}</version></dependency><!-- PE & EE requirements --><dependency><groupId>org.zkoss.zk</groupId><artifactId>zkmax</artifactId><version>${zk.version}</version></dependency><dependency><groupId>org.zkoss.zk</groupId><artifactId>zkplus</artifactId><version>${zk.version}</version></dependency><dependency><groupId>org.zkoss.zk</groupId><artifactId>zkex</artifactId><version>${zk.version}</version></dependency><!-- ZK Charts--><dependency><groupId>org.zkoss.chart</groupId><artifactId>zkcharts</artifactId><version>${zkcharts.version}</version></dependency><!-- ZK Graphics --><dependency><groupId>org.zkoss.graphics</groupId><artifactId>graphics</artifactId><version>0.8.0</version></dependency><!-- ZK JSP --><dependency><groupId>org.zkoss.zk</groupId><artifactId>zuljsp</artifactId><version>2.0</version></dependency><!-- Addons --><dependency><groupId>org.zkoss.addon</groupId><artifactId>flashchart</artifactId><version>1.0</version></dependency><dependency><groupId>org.zkoss.zkforge</groupId><artifactId>gmapsz</artifactId><version>3.0.4</version></dependency><dependency><groupId>org.zkoss.zkforge</groupId><artifactId>ckez</artifactId><version>4.4.6.3</version></dependency><dependency><groupId>org.zkoss.calendar</groupId><artifactId>calendar</artifactId><version>2.1.5</version></dependency><dependency><groupId>org.zkoss.pivot</groupId><artifactId>pivottable</artifactId><version>2.3.0-Eval</version></dependency><!-- Themes --><dependency><groupId>org.zkoss.theme</groupId><artifactId>sapphire</artifactId><version>${zk.version}</version></dependency><dependency><groupId>org.zkoss.theme</groupId><artifactId>silvertail</artifactId><version>${zk.version}</version></dependency><!-- Java servlet --><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version></dependency><!-- commons --><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>1.3.1</version></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1.1</version></dependency><dependency><groupId>commons-digester</groupId><artifactId>commons-digester</artifactId><version>2.0</version></dependency><dependency><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId><version>3.2.1</version></dependency><!-- Log4j --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.16</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-simple</artifactId><version>1.6.4</version></dependency><dependency><groupId>org.apache.geronimo.ext.tomcat</groupId><artifactId>juli</artifactId><version>7.0.23.1</version><scope>test</scope></dependency><!-- Rome --><dependency><groupId>rome</groupId><artifactId>rome</artifactId><version>1.0</version></dependency><!-- Jasperreports --><dependency><groupId>net.sf.jasperreports</groupId><artifactId>jasperreports</artifactId><version>4.0.1</version></dependency><!-- JFreeChart --><dependency><groupId>jfree</groupId><artifactId>jfreechart</artifactId><version>1.0.13</version></dependency><dependency><groupId>jfree</groupId><artifactId>jcommon</artifactId><version>1.0.16</version></dependency><!-- POI --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.7</version></dependency><!-- filters --><dependency><groupId>com.jhlabs</groupId><artifactId>filters</artifactId><version>2.0.235</version></dependency></dependencies></project>

2.2 简单的zk交互界面

inputDemo.zul代码

<zk>
<window>
<div apply="demo.grid.load_on_demand.InputController"><hbox><datebox id="in" onChange="self.value=new Date()" constraint="no empty" format="yyyy/MM/dd"/><button id="getCurrentTime" label="获取时间"></button><textbox id="mTime"></textbox></hbox>
</div>
</window>
</zk>

java代码

public class InputController extends SelectorComposer<Component> {private static final long serialVersionUID = 1L;@Wireprivate Datebox in;@Wireprivate Textbox mTime;@Listen("onClick = #getCurrentTime")public void getTime(){System.out.println("=="+in);Date dateTime = in.getValue();SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");mTime.setValue(sdf.format(dateTime));System.out.println("获取时间:"+in.getValue());}}

效果
结果
简单说下我的理解:
zk采用的控件可以绑定java实体类(使用apply=”Demo.java”)。
我们在Demo.java中对zk的控件进行初始化数据。
关于zk的知识还在更新学习中。
zk框架有力的学习文件:https://www.zkoss.org/zkdemo

这篇关于zk-web应用型框架学习(一)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1049525

相关文章

Spring 框架之Springfox使用详解

《Spring框架之Springfox使用详解》Springfox是Spring框架的API文档工具,集成Swagger规范,自动生成文档并支持多语言/版本,模块化设计便于扩展,但存在版本兼容性、性... 目录核心功能工作原理模块化设计使用示例注意事项优缺点优点缺点总结适用场景建议总结Springfox 是

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Java Web实现类似Excel表格锁定功能实战教程

《JavaWeb实现类似Excel表格锁定功能实战教程》本文将详细介绍通过创建特定div元素并利用CSS布局和JavaScript事件监听来实现类似Excel的锁定行和列效果的方法,感兴趣的朋友跟随... 目录1. 模拟Excel表格锁定功能2. 创建3个div元素实现表格锁定2.1 div元素布局设计2.

如何使用Haporxy搭建Web群集

《如何使用Haporxy搭建Web群集》Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多如LVS和Nginx,本案例介绍使用Haproxy及Nginx搭建一套Web群集,感兴趣的... 目录一、案例分析1.案例概述2.案例前置知识点2.1 HTTP请求2.2 负载均衡常用调度算法 2.

Python的端到端测试框架SeleniumBase使用解读

《Python的端到端测试框架SeleniumBase使用解读》:本文主要介绍Python的端到端测试框架SeleniumBase使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全... 目录SeleniumBase详细介绍及用法指南什么是 SeleniumBase?SeleniumBase

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

SpringBoot读取ZooKeeper(ZK)属性的方法实现

《SpringBoot读取ZooKeeper(ZK)属性的方法实现》本文主要介绍了SpringBoot读取ZooKeeper(ZK)属性的方法实现,强调使用@ConfigurationProperti... 目录1. 在配置文件中定义 ZK 属性application.propertiesapplicati

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

SpringBoot项目Web拦截器使用的多种方式

《SpringBoot项目Web拦截器使用的多种方式》在SpringBoot应用中,Web拦截器(Interceptor)是一种用于在请求处理的不同阶段执行自定义逻辑的机制,下面给大家介绍Sprin... 目录一、实现 HandlerInterceptor 接口1、创建HandlerInterceptor实