1. Three steps for installing Dojo
<style type="text/css"> @import "/dojoroot/dijit/themes/tundra/tundra.css"; @import "/dojoroot/dojo/resources/dojo.css"; </style> <script type="text/javascript" src="/dojoroot/dojo/dojo.js" djConfig="parseOnLoad: true,isDebug:true"></script>
<body class="tundra">...
<script> dojo.require("dojo.parser"); <!-- similar with "import java.util.List" --> </script>
2. Some userful Controls you may want to try
TabContainer, ContentPane, ValidationTextBox
3.Ajax
a. Features -- Cross-Browser Compatibility and prvoiding easy-to-use APIs on top of XHR
b. Data format in Ajax:
i.Dojo prefers "Hash Literal" such as {name:"john", sex:"male"}
ii.Yes, JSON is preferred to XMl
c. Three Ajax modules
i.dojo.data -- Deal with data
ii.dojo.xhr* -- Sending requests/Handling response
iii.dojo.io.script -- request/response for cross-domain services
d.XHR Example
dojo.xhrGet({ // URL for our proxy that calls the rating service url: "services/someurl.xml", content: { query: "someparamer"}, timeout: 10000, // Set this to parse response into XML handleAs: "xml", // Function run when web service returns with the answer load: function(response) { ... }, error: commonError });
e.UI Control Example: dojo.data + widget
<div dojoType="dojo.data.ItemFileReadStore" jsId="wishStore" url="services/cigar_wish_list.json"> </div> <table id="grid" dojoType="dojox.grid.Grid" store="wishStore" query="{ wishId: '*' }" clientSort="true"> <thead> <tr> <th field="description" width="15em">Cigar</th> <th field="size">Length/Ring</th> <th field="origin">Origin</th> <th field="wrapper">Wrapper</th> <th field="shape">Shape</th> </tr> </thead> </table>