Struts"
Line 28: | Line 28: | ||
Of course, it is a ZUL document. You could have any Ajax behavior you'd like. | Of course, it is a ZUL document. You could have any Ajax behavior you'd like. | ||
+ | |||
+ | == Access Data Model of Struts in Composer == | ||
+ | |||
+ | <source lang="java"> | ||
+ | package foo; | ||
+ | import org.zkoss.zk.ui.util.Composer; | ||
+ | import org.zkoss.zk.ui.*; | ||
+ | import org.zkoss.zul.*; | ||
+ | import org.apache.struts.helloworld.model.MessageStore; | ||
+ | |||
+ | public class FooComposer implements org.zkoss.zk.ui.util.Composer { | ||
+ | public void doAfterCompose(Component comp) { | ||
+ | MessageStore mstore = Executions.getCurrent().getAttribute("messageStore"); | ||
+ | comp.appendChild(new Label(":"+mstore.getMessage())); | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
=Submit Form= | =Submit Form= |
Revision as of 06:52, 11 February 2011
The use of Struts with ZK is straightforward: just replace JSP pages with ZUL pages. You don't need to modify action handlers, data models and others. All you need to do is to map the result view to a ZUL page instead of JSP. In additions, EL expressions will work the same way in the ZUL page.
Use ZUL instead of JSP
First, let us take the Hello World example in Struts tutorial as an example. We could provide a ZUL page called HelloWorld.zul to replace HelloWorld.jsp as follows.
<?page title="Hello World!"?>
<h:h2 xmlns:h="xhtml">
${messageStore.message}
</h:h2>
As shown, you could use the same EL expression to access the data provided by Struts and your action handler.
Then, you map the hello action to HelloWorld.zul by modifying WEB-INF/classes/struts.xml as follows.
<action name="hello" class="org.apache.struts.helloworld.action.HelloWorldAction" method="execute">
<result name="success">/HelloWorld.zul</result>
</action>
Then, you could visit http://localhost:8080/Hello_World_Struts2_Ant/hello.action as you are used to and have the same result.
Of course, it is a ZUL document. You could have any Ajax behavior you'd like.
Access Data Model of Struts in Composer
package foo;
import org.zkoss.zk.ui.util.Composer;
import org.zkoss.zk.ui.*;
import org.zkoss.zul.*;
import org.apache.struts.helloworld.model.MessageStore;
public class FooComposer implements org.zkoss.zk.ui.util.Composer {
public void doAfterCompose(Component comp) {
MessageStore mstore = Executions.getCurrent().getAttribute("messageStore");
comp.appendChild(new Label(":"+mstore.getMessage()));
}
}
Submit Form
Version History
Version | Date | Content |
---|---|---|