-
FEATURED COMPONENTS
First time here? Check out the FAQ!
How to get value from Window modal and fill in textbox ?
i have code like this
file Window1.zul for show Window2
<?xml version="1.0" encoding="UTF-8"?> <?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" root="./window1" ?> <?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?> <zk xmlns="http://www.zkoss.org/2005/zul" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd"> <zscript> <![CDATA[ import controller.window1Controller; import controller.window2Controller; ]]> </zscript> <window id="window1t" width="650px" title="Input" border="normal" apply="${Window1Controller}"> <textbox id="txtDisc" /> <!-- I wan fill this textboxt from window2 <button id="btnShowWindow2" label="Show Window2" forward="onClick=onBtnClick(evt)" /> </window> </zk>
Window1Controller.java
@org.springframework.stereotype.Component("Window1Controller") @Scope("prototype") public class Window1Controller extends GenericForwardComposer { @Override public void doAfterCompose(Component comp) throws Exception { super.doAfterCompose(comp); } public void onBtnClick(Event evt) { try { //show window2 Executions.createComponents("/WEB-INF/zk/Windows2.zul",window1,null); } catch (Exception ex) { ex.printStackTrace(); } } }
Window2.zul
<?xml version="1.0" encoding="UTF-8"?> <?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" root="./window2" ?> <?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?> <zk xmlns="http://www.zkoss.org/2005/zul" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd"> <zscript> <![CDATA[ import controller.Windows2Controller; ]]> </zscript> <window id="window2 title="List" border="normal" width="400px" height="450px" closable="true" mode="modal" apply="${Window2Controller"}> <div> <button id="btnClose" label="Close" forward="onClick=onClickClose(evt)" /> </div> </window> </zk>
Window2Controller.java
@org.springframework.stereotype.Component("Window2Controller") @Scope("prototype") public class Window2Controller extends GenericForwardComposer { //close window2 public void onClickClose(Event evt) { String typeDisc="InternalDisc"; //this value i want send to Window1, and fill in textbox txtDisc //when this window close Window window2=(Window) evt.getTarget(); window2.detach(); } }
thanks
I have modified my code like this in file Composer/controller
Window1Controller.java
Extend
@org.springframework.stereotype.Component("Window1Controller")
@Scope("prototype")
public class Window1Controller extends GenericForwardComposer {
private Window2Controller window2Controller;
// protected Textbox txtDisc; //first i made protected, got error then i change to private got error
private static Textbox txtDisc;
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
}
public void onBtnClick(Event evt) {
try {
//show window2
Executions.createComponents("/WEB-INF/zk/Windows2.zul",window1,null);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
//seter geter Window2Controller
Window2Controller.java
Extend
@org.springframework.stereotype.Component("Window2Controller")
@Scope("prototype")
public class Window2Controller extends GenericForwardComposer {
private Window1Controller window1Controller;
//close window2
public void onClickClose(Event evt) {
String typeDisc="InternalDisc"; //this value i want send to Window1, and fill in textbox txtDisc
//when this window close
getWindow1Controller().txtDisc.setValue(typeDisc);
Window window2=(Window) evt.getTarget();
window2.detach();
}
}
//setter getter window1Controller
i got error
error: txtDisc has private access in Window1Controller
thanks
Asked: 2012-07-21 07:09:16 +0800
Seen: 199 times
Last updated: Jul 23 '12