Requirement Constraints

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Saturday, 2 June 2012

MVVM Examples–Example 1

Posted on 01:18 by Unknown
Example 1:
In this example, how we can convert MVC GenericForwardComposer into new MVVM + Data binding


ZK Docs
 http://books.zkoss.org/wiki/Small%20Talks/2011/November/Hello%20ZK%20MVVM

Step 1:

Create new ZK Project
image

Step 2:

Create Example1.zul file and its composer as shown
image
Example1.zul
<window apply="ex.myexample.HelloComposer">
    <label id="lbl" />
    <button id="btn" label="Show" />
</window>

HelloComposer.Java
package ex.myexample;
import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Label;

@SuppressWarnings("rawtypes")
public class HelloComposer extends GenericForwardComposer {
    /**
     *
     */
    private static final long serialVersionUID = -6397566602389346161L;
    private Label lbl;

    public void onClick$btn(Event event) {
        lbl.setValue("Hello World!");
    }
}

Step 3:

Run the Example1.zul file
image

Step 4:

Let us re write the same example using MVVM
Create Example2.zul and HelloViewVM.Java as shown
image
Example2.zul
<window apply="org.zkoss.bind.BindComposer" viewModel="@id('myvm') @init('ex.myexample.HelloViewVM')">
    <label value="@load(myvm.message)"/>
    <button label="Show" onClick="@command('showHello')"/>
</window>
HelloViewVM.Java
package ex.myexample;
import org.zkoss.bind.annotation.Command;
import org.zkoss.bind.annotation.NotifyChange;

public class HelloViewVM {
    private String message;

    public String getMessage() {
        return message;
    }

    @Command    
    @NotifyChange("message")
    public void showHello() {
        message = "Hello World!";
    }
}

Reference a ViewModel in a ZUL
We can bind ZK UI component to a ViewModel by setting its viewModel attribute, and that component becomes the Root View Component for the ViewModel. All child components of this Root View Component can acces the same ViewModel and its properties. To bind a ViewModel, we have to apply a composer called org.zkoss.bind.BindComposer, it will create a binder for the ViewModel and instantiate the ViewModel's class.
Then we set viewModel attribute with ViewModel's id in @id ZK Bind annotation and a ViewModel's full-qualified class name in @init . We use the id to reference ViewModel's properties, e.g. vm.name.
Email ThisBlogThis!Share to XShare to Facebook
Posted in ZK MVVM | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • ZK Example for inline Editing with Add New and Delete
    I am quite impressed on this demo from ZK . But adding new record and delete existing record is missing as part of typical CRUD. So i thoug...
  • EDI 270–5010 Documentation - ISA – Interchange Control Header
    ISA – Interchange Control Header ISA – Interchange Control Header   The ISA is a fixed record length segment and all positions within ea...
  • Understanding EDI Structure
    EDI Structure Primary Levels are 1. Interchange Envelops 2. Functional Group 3. Transaction set Data Element A data element is equival...
  • ZK ListBox
    Let us first design a simple  static list box with crud Buttons as last column. Here is the code <?page title="Practice List" c...
  • EDI Instructions
    HIPAA Compliant Codes All the Health care EDI Transaction set should use only the following HIPAA Compliant Codes Physicians Current Pro...
  • List Item Connected with Hibernate and Search Parameter
      Summary This example contains one list box with First name and Last Name as search Field. If the user do not give any values for first n...
  • Physician Quality Reporting System - PQRS
    Let me just summarized the information which i understood clearly about PQRS . The following information are taken from different websites a...
  • EDI 270 - 5010 Health Care Eligibility/Benefit Inquiry
    If you are new to Medical Billing, then please read this article first . If you are new to EDI, then  read the following articles 1. What i...
  • Types of Reimbursement
    Fee-For-Service Fee-for-service is a method of payment where the provider is paid a fee for each procedure performed and billed.Most payer ...
  • Hibernate Validator Example 2
    In this example, we will see some more validation constraints such as @email, @past, @length, etc. And also we will also define custom error...

Categories

  • Billing Process
  • C Workbook
  • C++ Workbook
  • Eclipse Tips
  • EDI 5010
  • EMR Appointment Features
  • EMR Labs Stuff
  • EMR PMS Links
  • EMR Use cases
  • EMR Vital Sign
  • Good Website Design
  • Hibernate Criteria Queries
  • Hibernate Introduction
  • Hibernate Introduction Setup
  • Hibernate Mapping
  • Hibernate POC
  • Hibernate Validator
  • Hibernate–Java Environment setup
  • HPI
  • Java
  • Maven
  • MU Certification
  • NPI
  • PQRS
  • Practice Management System
  • Spring Security
  • Tech Links
  • Today Tech Stuff
  • zk
  • ZK Hibernate
  • ZK 5 Databinding
  • ZK Application
  • ZK Calling Another ZUL
  • ZK CheckBox
  • ZK CreateComponents
  • ZK CSS
  • ZK extended Components
  • ZK Foreach
  • ZK Forum Posts
  • ZK Framework
  • ZK Hibernate Setup
  • ZK ID Space
  • ZK Include
  • ZK Installation
  • ZK iReport
  • ZK Layout
  • ZK Listitem Pagination
  • ZK Message Box
  • ZK MVC
  • ZK MVC Combox Box
  • ZK MVC CRUD Examples
  • ZK MVC Listbox
  • ZK MVVM
  • ZK MVVM Combo
  • ZK MVVM CRUD
  • ZK MVVM ListBox
  • ZK Spring
  • ZK TextBox

Blog Archive

  • ►  2013 (105)
    • ►  December (3)
    • ►  September (7)
    • ►  August (13)
    • ►  July (1)
    • ►  June (11)
    • ►  May (3)
    • ►  April (14)
    • ►  March (19)
    • ►  February (21)
    • ►  January (13)
  • ▼  2012 (177)
    • ►  December (1)
    • ►  November (13)
    • ►  October (19)
    • ►  September (24)
    • ►  August (26)
    • ►  July (6)
    • ▼  June (37)
      • Combo Box– Show images for Items based on some con...
      • ZK Border Layout–Another example
      • MVVM–List Item–Hibernate–MySQL–Part 3
      • C Workbook
      • MVVM Modal window–Pass Parameter and Return values
      • C++ Workbook
      • ZK Border Layout–Menu on the left and content on t...
      • MVVM–List Item–Hibernate–MySQL–Part 2
      • Charge Entry Screen
      • Practice management System– PMS–Billing
      • Phone Box–Using j Query and Extending ZK Textbox
      • MVC Two combo Box – Fill second combo based on fir...
      • MVVM Two combo Box – Fill second combo based on fi...
      • MVVM–List Item–Hibernate–MySQL–Part 1
      • MVC Combo Box Data binding
      • MVVM Combo Box Data binding
      • List Item Double click event on selected Item usin...
      • MVVM Example for Form Validation
      • List Item on Select, show more details by using se...
      • List item Change background color for some particu...
      • List Item Double click event on selected Item
      • ViewModel Class Java Annotation @Init, @NotifyChan...
      • ZK MVVM CRUD - Part 3
      • ZK MVVM CRUD - Part 2
      • Select only few columns in Hibernate create query API
      • ZK MVVM CRUD - Part 1
      • Java List and ArrayList
      • Annotate non persistent properties with the @Trans...
      • MVVM Example 3–List item
      • Tab box with tool bar CSS
      • Change the location of the label in radio element
      • Hibernate 4.1.1 will create the column if we missp...
      • MVC–CRUD Application with ZK 5 Data Binding
      • Hibernate–Java Environment setup
      • How to refer CSS File in ZK Style tag
      • MVVM Examples–Example 2
      • MVVM Examples–Example 1
    • ►  May (30)
    • ►  April (16)
    • ►  March (1)
    • ►  January (4)
  • ►  2011 (5)
    • ►  December (1)
    • ►  November (1)
    • ►  July (1)
    • ►  June (1)
    • ►  April (1)
  • ►  2010 (1)
    • ►  September (1)
Powered by Blogger.

About Me

Unknown
View my complete profile