ZUL頁面註解語法與Java註解語法
一、所有註解
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')
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的argument7、@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、viewModel="@id(name) @init(expression)" explanation:用於設定ViewModel ◆ 一個擁有apply="org.zkoss.bind.BindComposer"屬性
JDK環境變量與Java簡單語法介紹
jdk環境變量 java Dos界面輸入路徑參數: 如果沒有配置JDK環境變量的話,常用的編譯方式就是把javac.exe程序所在的路徑復制粘貼到cmd中,然後加上java文件的所在路徑進行編譯:含義:找到javac.exe程序,然後告訴需要編譯的路徑(參數) 註意:兩者之間要敲一個空格。PAT
memcached(2)常用語法與java連線服務
memcached常用語法及java使用方式 Author:SimpleWu Memcached 儲存命令 Memcached set 命令用於將 value(資料值) 儲存在指定的 key(鍵) 中。 如果set的key已經存在,該命令可以更新該key所對
javascript點語法與中括號語法
undefined 默認值 java 字符 ole 特殊 進行 原來 點語法 點語法: 點語法根據對象中的鍵來獲取相應的值. let obj = { a: ‘a‘ } console.log(obj.a)// ‘a‘ 創建相應的鍵值對 obj.b = ‘b‘ console
spring中自定義註解(annotation)與獲取註解
註解類自定義 package me.lichunlong.spring.annotation; import java.lang.annotation.Documented; import j
eclipse使用與java語法規則
javaeclipse的使用1、運行點擊“三角圖標”或右鍵Run As運行2、3、java語法規範1、括號要成對出現2、每句代碼應該有分號結束3、java語法區分大小寫4、一個文件只能寫一個帶有public的class聲明,還必須和文件名一致。一個文件中不可以有多個帶有public的修飾符號5、名稱寫的時候不
Java簡單語法與訪問權限修飾符
政府 face 情況 pst 視頻 符號 bean exc cas Java簡單語法總結 一:Java簡單語法概述 1:分號,關鍵字,空白(空格,空白行),花括號和註釋的使用。 2:標識符的規則(命名規則與業內約定)。 3:Java表達式(逗號,問號和邏輯表達式)。 二
[轉]java註解與APT技術
pretty runt src ons data exception clas -m animal 下面是一個簡單的自定義註解的栗子: package annotation; import java.lang.annotation.Docume
Spring註解與Java元註解小結
spa package param style 值範圍 描述 tro ret 類型 註解 Annotation 基於註解的開發,使得代碼簡潔,可讀性高,簡化的配置的同時也提高了開發的效率,尤其是SpringBoot的興起,隨著起步依賴和自動配置的完善,更是將基於註解的開發推
java高級-泛型<T>和註解封裝與使用
bat string 為什麽 cor this 模塊名 vat () parameter p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Yuanti SC"; color: #000000 } span.s1 {
Java基礎語法 - 函式與方法
java 是一門面向物件程式設計,其它語言中的函式也就是java中的方法 方法的基本使用方法 1 package com.demo7; 2 3 /* 4 * 函式/方法 5 * 6 * 定義格式: 7 * 修飾符 返回值型別 方法名(引數型別 引數1, 引
深入拆解虛擬機器(十)Java語法糖與Java編譯器
泛型與型別擦除 (1)Java程式裡的泛型資訊,在Java虛擬機器裡全部丟失了。這麼做主要是為了相容引入泛型之前的程式碼。 (2)並不是每一個泛型引數被擦除型別之後都會變成Object類。對於限定了繼承類的泛型引數,經過型別擦除後,所有的泛型引數都將變成所限定的繼承類。也就是說,
groovy與java語法區別
。。 call 類的使用 雙引號 compareto 錯誤 cas math 這也 groovy與java語法區別 Groovy試圖對Java開發人員盡可能地兼容。在設計Groovy時,遵循最不意外的原則,尤其是對於那些來自Java背景的開發人員。 這裏我們列出了Java和
Java中的基礎語法與定義
Java中的基礎語法 首先Java是一個完全的面嚮物件語言。這一點決定了Java程式是由一系列的物件組成的,這些物件通過呼叫彼此的方法來完成程式的執行。 接下來理解一下Java中的幾個概念: 類:類是一個模板,在類中定義了一種物件的行為(方法、函式)和狀態(
Java 中的覆蓋@Override註解寫與不寫的不同
1、 一般來說,寫與不寫沒什麼區別,JVM可以自識別 2、寫的情況下:即說明子類要覆蓋基類的方法,基類必須存在方法(控制型別public,protected,返回值,引數列表型別)與子類方法完成一致的方法,否則會報錯(找不到被Override的方法)。 3、在不寫@Overrid
快速學習Python基礎語法中與Java的不同之處
1、Python識別符號中與Java的不同 Python識別符號中以下劃線開頭的識別符號具有特殊意義。 以單下劃線開頭 _foo 的代表不能直接訪問的類屬性,需通過類提供的介面進行訪問,不能用 from xxx import * 而匯入; 以雙下劃線開頭的 __foo
Java註解與反射應用的小例子
1.功能介紹 小例子主要完成以下功能,通過Java反射獲取SQL語句,使用MyBatis傳入SQL語句,將資料插入到資料庫中2.程式碼講解2.1 自定義註解 首先看一個自定義註解,在此例子中我自定義了兩個註解,一個叫DBTable,另一個是DBColumn。
Java @Override註解 寫與不寫的區別
/* 一般來說,寫與不寫沒什麼區別,JVM可以自識別 寫的情況下:即說明子類要覆蓋基類的方法,基類必須存在方法 (控制型別public,protected,返回值,引數列表型別)與子類方法完成一致的方法,否則會報錯(找不到被Override的方法)。 在
(JAVA必備)Lombok(小辣椒)的安裝與出現註解無效的問題
一 . 概述使用lombok可以簡化我們的JAVA程式碼,雖然使用Eclipse或者IDEA可以一鍵生成,但是還是有點麻煩,下面推薦這款工具:二 . 安裝與可能出現的問題1 首先官網下載lombok.jar2 開啟下載好的lombo.jar,會彈出下面的介面,能夠識別你電腦上
Java 中的覆蓋@Override註解 寫與不寫的一點點理解
Java程式碼 /*俺的菜鳥筆記 Java 中的覆蓋@Override註解 寫與不寫的一點點理解 一般來說,寫與不寫沒什麼區別,JVM可以自識別 寫的情況下:即說明子類要覆蓋基