Deprecated. after release of zkspring 3.1, suggest to use GenericForwardComposer or SelectorComposer.
An abstract composer that you can extend and write intuitive
@EventHandler
("myComponent.onXXX") event handler methods and
auto-wired components in a ZK ZUML page. This class will add
forward condition to myComponent and forward source onXXX event
received by teh source myComponent to the target component method
annotated with (@link EventHandler) annotation.
Notice that since this composer kept references to the components, single
instance object cannot be shared by multiple components.
The following is an example. The onClick event received by Button will be
forwarded to target Window myWin and the Textbox component with id name and
Button component with id greetBtn are injected into name and greetBtn fields
respectively (so you can use name and greetBtn variables directly in showGreeting
without problem)
GreetingCtrl.java
@org.springframework.stereotype.Component
("greetingCtrl")
@Scope
("desktop")
public class GreetingCtrl extends GenericSpringComposer {
@Autowired
private Textbox name;
@Autowired
private Button greetBtn;
@EventHandler
("greetBtn.onClick")
public void showGreeting(Event evt) throws WrongValueException, InterruptedException {
Messagebox.show("Hello " + name.getValue() + "!");
}
}
test.zul
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<window id="myWin" apply="${greetingCtrl}">
<textbox id="name" />
<button id="greetBtn" label="Greet!" />
</window>