一、所有注解

二、页面注解

1、viewModel="@id(name) @init(expression)"

explanation:用于设置ViewModel

◆ 一个拥有apply="org.zkoss.bind.BindComposer"属性的组件可以使用这个注解,如果没有这个注解,那么这个组件将会被设置到一个composer上。

◆ expression:如果它被赋予一个Class,那么这个Class将创建一个ViewModel实例

2、comp-attribute="@load(expression)"

explanation:单向绑定。用来加载属性的表达式

◆ 用户可以在表达式中指定绑定条件,通过参数before和after来设定。例如@load(vm.filter,after='myCommand'),这表示Binder会在执行完command方法myCommand之后加载这个属性

◆可以指定多个command

3、comp-attribute="@save(expression)"

explanation:单向绑定。保存组件的属性值到ViewModel属性中的表达式。

◆ 用户可以在表达式中指定绑定条件,通过参数before和after来设定。例如:@save(vm.filter,before='myCommand'),这表示Binder会在执行command方法myCommand之前保存这个属性到ViewModel

4、comp-attribute="@bind(expression)"

explanation:双向绑定。在组件的属性和ViewModel的属性之间实现双向绑定,它不支持条件绑定,也就是说在绑定时不能使用条件。

◆ 它等同于@load(expression)@save(expression)

◆ 如果组件的属性不支持@save的话,Binder将会自动忽略它

◆ 例子:对于表达式e.f.g.h,如果任何一个通知说e.f.g.h、e.f.g、e.f或者e被改变了,那么组件的属性将会被重新加载

5、@converter(expression, arg = arg-expression)

explanation:为绑定提供一个转换器conveter

◆ 如果expression是一个ZK提供的conveter,那么它将会直接被使用

◆ 如果expression是一串字符,那么它将会从ViewModel中查找相应的getConveter方法,方法的名字为get+expression返回值为Conveter。

6、comp-event="@command(expression, arg =another-expression)"

explanation:绑定到相应的事件command方法

◆ expression必须是ViewModel中的一个command方法的名字

◆ 事件被触发时,它将会按照ZK Bind Lifecycle来执行这个command方法

三、ViewModel注解

1、@NotifyChange on setter

explanation:通知(notify)Binder该属性的值被改变

◆ 当调用了属性的setter方法之后,它将会通知(notify)Binder该属性的值被改变了。它是默认开启的,在属性的setter方法上你可以省略不写这个注解

2、@NotifyChange on command method

explanation:用于command方法上

◆ @NotifyChange(expression)、@NotifyChange({expression1,expression2,……})

3、@NotifyChangeDisabled on setter

explanation:使setter方法默认开启的@NotifyChange关闭

4、@Command('commanName')

explanation:commandName是可选的,如果不指定的话,command方法的名字默认就是它所注解的方法的名字

四、参数注解

1、@BindingParam(“keyString”)

描述:传递command方法的参数

功能:Binder可以通过@BindingParam注解中指定的字符串来获取ZUL页面上绑定的内容

2、@QueryParam("keyString")

描述:传递一个方法的参数,这个方法可以是一个command方法,也可以是一个@Init方法。

功能:Binder可以通过@QueryParam中指定的字符串在HTTP请求中得到传递到ViewModel中的参数

3、@HeaderParam("keyString")

描述:传递一个方法的参数,可以应用到@Init方法和command方法上。

功能:Binder可以通过@HeaderParam中指定的字符串在HTTP请求中得到传递到ViewModel中的参数。与@QueryParam类似

4、@CookieParam("keyString")

描述:传递一个方法的参数,可以应用到@Init方法和command方法上。

功能:从HTTP 请求cookie中获得参数。

5、@ExecutionParam("keyString")

描述:传递一个方法的参数,可以应用到@Init方法和command方法上。

功能:获得当前Excursion设置的Attribute值。

executionparam-inner.zul:

6、@ExecutionArgParam("keyString")

描述:传递一个方法的参数,可以应用到@Init方法和command方法上。

功能:获得当前Execution的argument

7、@ScopeParam("keyString")  或  @ScopeParam(scopes=Scope.APPLICATION, value="keyString")

enum Scope{ COMPONET, SPACE, PAGE, DESKTOP, SESSION, APPLICATION, AUTO}  //对应“组件,空间,页面,桌面,会话,应用,自动”

默认是AUTO,按COMPONENT-->SPACE-->PAGE-->DESKTOP-->SESSION-->APPLICATION的顺序一个个查找,直到找到不为空的值。

如果限定了Scope,则只会查找特定的Scope。

描述:传递一个方法的参数,可以应用到@Init方法和command方法上。

功能:在指定的Scope中查找参数。

8、@SelectorParam("#componentId")  、 @SelectorParam("tagName")  、@SelectorParam(".className")  、@SelectorParam(":root")  、

@SelectorParam("window > button")  、@SelectorParam("button[ label= ' Submit ' ] ")

描述:传递一个方法的参数,可以应用到@Init方法和command方法上。

功能:从绑定的组件中获取参数。通过Selectors根据value值查找组件。

【通过标签名"label",取得所有Label组件】

9、@ContextParam(ContextType.XXX)

描述:传递一个方法的参数,可以应用到@Init方法和command方法上。

功能:告诉绑定器传递指定类型的上下文对象。

enum ContextType {
    BIND_CONTEXT,  //BindContext instance
    BINDER,        //Binder instance
    TRIGGER_EVENT, //Event that trigger the command (since 6.0.1)
    COMMAND_NAME,  //Command name (since 6.0.1)
    EXECUTION,     //Execution instance
    COMPONENT,     //Component instance of current binding
    SPACE_OWNER,   //IdSpance instance of spaceOwner of current component
    VIEW,          //the view component of binder
    PAGE,          //Page instance of current component
    DESKTOP,       //Desktop instance of current component
    SESSION,       //Session instance
    APPLICATION    //Application instance
}

10、@Default(“defaultValue”)

描述:传递一个方法的参数,可以应用到@Init方法和command方法上。

功能:当绑定参数为空时使用指定的默认值。可以将该注解应用在其他参数相关注解之后,如果第一个注解取到空,则使用该注解指定的默认值。

点击第一个按钮,arg2为100;点击第二个按钮,arg为3。

四、@Wire

ZUL页面注解语法与Java注解语法相关推荐

  1. java获得jsp的name注解_记录Java注解在JavaWeb中的一个应用实例

    概述 在学习注解的时候,学了个懵懵懂懂.学了JavaWeb之后,在做Demo项目的过程中,借助注解和反射实现了对页面按钮的权限控制,对于注解才算咂摸出了点味儿来. 需求 以"角色列表&quo ...

  2. java 方法注解_使用Java注解不正确的方法

    java 方法注解 几乎没有什么@Deprecated没有适当的文档看到@Deprecated方法更令人生气的了. 我感到失落. 我应该仍然使用该方法吗? 可能这不是开发人员的意图,这就是为什么他/她 ...

  3. Java使用继承的语法是,Java基础语法八 继承

    1.超类和子类 超类和子类 父类与子类 多态: 一个对象变量可以指示多种实际类型的现象称为多态 一个变量可以引用父类对象,也可以引用其子类对象,这就是多态. 不能将一个超类的引用赋给子类变量,因为调用 ...

  4. js面向对象与java面向对象的区别,被坑了,js语法跟Java面向对象语法还是有区别的...

    请见代码,实现功能是要点表格当前行里的删除链接,直接删除当前行,并且删到最后一行的时候,把包含当前table的div直接隐藏了. function delCurrentTr(){ //这两句一定要写在 ...

  5. 夯实Java基础系列15:Java注解简介和最佳实践

    Java注解简介 注解如同标签 Java 注解概述 什么是注解? 注解的用处 注解的原理 元注解 JDK里的注解 注解处理器实战 不同类型的注解 类注解 方法注解 参数注解 变量注解 Java注解相关 ...

  6. 彻底掌握 java 注解

    注解就是java程序中一种特殊的注释,不要把注解想的那么复杂,它就是注释而已,注解本身不会对程序的代码逻辑造成任何影响. 在学java类与对象时,有关方法覆写那里,你可能会看到下面这样的代码: cla ...

  7. java注释和注解_注释注解JAVA注解

    发一下牢骚和主题无关: package anno; import java.lang.annotation.Retention; import java.lang.annotation.Retenti ...

  8. java 注解继承注解_Java注解合并,注解继承

    spring中有时候一个类上面标记很多注解. 实际上Java注解可以进行继承(也就是把多个注解合并成1个) 比如说SpringMVC的注解 @RestController @RequestMappin ...

  9. 【Android APT】注解处理器 ( 配置注解依赖、支持的注解类型、Java 版本支持 )

    文章目录 一.注解处理器 依赖 编译时注解 二.设置 注解处理器 支持的注解类型 三.设置 注解处理器 支持的 Java 版本 四.博客资源 Android APT 学习进阶路径 : 推荐按照顺序阅读 ...

  10. 【Java 注解】自定义注解 ( 使用注解实现简单测试框架 )

    文章目录 一.定义注解 二.使用注解 三.解析注解 在 [Java 注解]自定义注解 ( 注解属性定义与赋值 ) 博客中讲解了 注解属性 ; 在 [Java 注解]自定义注解 ( 元注解 ) 博客中讲 ...

最新文章

  1. 字符串的全排列和组合算法
  2. MySql 长时间读数据发生超时的异常 Mysql Reader Exception TimeOut expired
  3. Strut2判断是否是AJAX调用
  4. jvm在不同系统中的最大内存空间地址
  5. .NET项目发布网站具体步骤和注意事项
  6. Android 自定义操作成功的loading动画
  7. Codeforces Beta Round #4 (Div. 2 Only) D. Mysterious Present(LIS)
  8. 工程流体力学笔记暂记35 (平板层流边界层和平板混合边界层)
  9. ESP8285 ESP-AT编译流程和操作步骤
  10. system verilog语法(一)
  11. QC1.0、QC2.0、QC3.0、QC4.0协议介绍
  12. 假设有一个英文文本文件,编写一个程序读取其内容并将里面的大写字母变成小写字母,小写字母变成大写字母
  13. 小程序switch内部加上文字_干货 | 微信小程序教程:写一个能自定义尺寸、样式的switch...
  14. ios 开发 flurry 资料
  15. LeetCode,无它,唯手熟尔(一)
  16. 你知道豆瓣电影是怎么评分的吗?(实战篇—手把手教你分析豆瓣电影)
  17. 高新技术企业减税新增政策
  18. python如何计算概率事件_怎样用Python实现统计、概率、机器学习基础实验?一文看懂...
  19. Windows Style Builder颜色模块的ColorizationColor值问题
  20. 2021-2027全球及中国G Suit营销软件行业研究及十四五规划分析报告

热门文章

  1. unicode字符串解析
  2. NetSpeedMonitor for mac
  3. python爬虫和Java爬虫哪个更好
  4. 黑马python培训视频网盘下载_黑马课堂大数据全套视频课程百度云下载
  5. java实现批量更新数据_Java数据库编程中的几个常用技巧(批量更新)
  6. MATLAB+simulink仿真学习
  7. 指标公式c语言源码下载,通达信超级全系列指标公式
  8. 2. 谷粒学院项目介绍
  9. Ubuntu系统下载工具的推荐
  10. 什么是 开发环境、测试环境、生产环境、UAT环境、仿真环境