@ExecutionParam"

From Documentation
(Created page with "{{ZKDevelopersReferencePageHeader}} =Syntax= <source lang="java"> @ExecutionParam("keyString") </source> = Description = '''Target:''' A method's parameter (initial method and...")
 
Line 63: Line 63:
 
* The label will display "abc".
 
* The label will display "abc".
  
 +
 +
 +
 +
=Version History=
 +
{{LastUpdated}}
 +
{| border='1px' | width="100%"
 +
! Version !! Date !! Content
 +
|-
 +
| 6.0.0
 +
| February 2012
 +
| The MVVM was introduced.
 +
|}
  
  

Revision as of 01:51, 9 February 2012

Syntax

@ExecutionParam("keyString")

Description

Target: A method's parameter (initial method and command method)

Purpose: Tell binder to retrieve this parameter with specified key from current execution's attribute.

The annotation is applied to initial method's (or command method's) parameter. It declare the applied parameter should come from current execution's attribute with specified key.

Example

Assume we want to pass an object by execution's attribute to an included ZUL that uses a ViewModel: ExecutionParamVM.

outer ZUL

	<window id="w2">
		<zscript>
			void doClick(){
				org.zkoss.zk.ui.Execution ex = org.zkoss.zk.ui.Executions.getCurrent();
				ex.setAttribute("param1","abc");			
				inc.src = "executionparam-inner.zul";
			}
		</zscript>
		<button label="do include" onClick="doClick()"/>
		<include id="inc" />
	</window>

We use annotation to retrieve execution's attribute with key "param1".

public class ExecutionParamVM {


	private String param1;
	
	@Init
	public void init(@ExecutionParam("param1") String param1){
		this.param1 = param1;
	}
	//setter, getter, and others
}


executionparam-inner.zul

	<vbox apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('foo.ExecutionParamVM')">
		
		<label value="@load(vm.param1)"/>
	</vbox>
  • The label will display "abc".



Version History

Last Update : 2012/02/09


Version Date Content
6.0.0 February 2012 The MVVM was introduced.





Last Update : 2012/02/09

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.