<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd"> <dwr> <allow> <create creator="new" javascript="JDate"> <param name="class" value="java.util.Date"/> </create> <create creator="new" javascript="Demo"> <param name="class" value="your.java.Bean"/> </create> </allow> </dwr> defines what classes DWR can create and remote for use by Javascript
Bean綾誨繀欏婚兘鏈変竴涓粯璁ょ殑鏃犲弬鏋勯犲櫒
DWR has a few restrictions:
聽(tīng)
鎹簡(jiǎn)涓柟娉曟潵澶勭悊璇誨叆鐨剎ml鏂囦歡
鏂囦歡:formdatas.xml
<?xml version="1.0" encoding="gb2312"?>
<formdatas>
聽(tīng) <data>
聽(tīng)聽(tīng) <address>鍦板潃</address>聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) #text
聽(tīng)聽(tīng) <productaddress>鐢熶駭鍦板潃</productaddress>聽(tīng)聽(tīng) #text
聽(tīng)聽(tīng) <diploma>澶т笓</diploma>聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) #select
聽(tīng)聽(tīng) <type>浜岀被|鍥涚被|涓夌被</type>聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) #checkbox
聽(tīng)聽(tīng) <sex>濂?lt;/sex>聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) #radio
聽(tīng)聽(tīng) <date>2005騫?2鏈?1鏃?lt;/date>聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) #text
聽(tīng)聽(tīng) <memo>澶囨敞</memo>聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng) #textarea聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng) </data>聽(tīng)聽(tīng)
</formdatas>
js鐗囨:
function updateform(xmlname,obj){聽(tīng)聽(tīng)
聽(tīng)var url = ""+xmlname;
聽(tīng)if(document.implementation&&document.implementation.createDocument) {
聽(tīng)聽(tīng)
聽(tīng)聽(tīng)var xmldoc = document.implementation.createDocument("", "", null);
聽(tīng)聽(tīng)xmldoc.onload =聽(tīng) handler(xmldoc, obj);
聽(tīng)聽(tīng)xmldoc.load(url);
聽(tīng)}
聽(tīng)else if(window.ActiveXObject) {
聽(tīng)聽(tīng)
聽(tīng)聽(tīng)var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
聽(tīng)聽(tīng)xmldoc.onreadystatechange = function() {
聽(tīng)聽(tīng)聽(tīng)if(xmldoc.readyState == 4) handler(xmldoc, obj);
聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)xmldoc.load(url);
聽(tīng)}
}
function handler(xmldoc, obj) {
聽(tīng)var formdatas = xmldoc.getElementsByTagName("data")[0];聽(tīng)
聽(tīng)for (var i=0;i<obj.length ;i++ ){
聽(tīng)聽(tīng)聽(tīng)e=obj[i];聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)if (e.name != '') //琛ㄥ崟涓殑e.name瀵瑰簲xml閲岀殑tagName,鍒╃敤瀵瑰簲鍏崇郴,灝嗗煎啓鍏ヨ〃鍗曚腑
聽(tīng)聽(tīng)聽(tīng){聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)if ( e.type == 'text' || e.type == 'textarea'){聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)e.value = formdatas.getElementsByTagName(e.name)[0].firstChild.data;聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)if( e.type == 'checkbox' || e.type == 'radio'){
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)var temp = formdatas.getElementsByTagName(e.name)[0].firstChild.data.split("|");聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)for(var k=0; k<temp.length; k++){
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)//alert( temp[k] );
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)if( e.value == temp[k] ) e.checked = true;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)聽(tīng)if( e.type == 'select-one' ){
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)var selvalue = formdatas.getElementsByTagName(e.name)[0].firstChild.data;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)document.getElementById(e.name+"div").innerHTML="";
聽(tīng)聽(tīng)聽(tīng)聽(tīng)聽(tīng)document.getElementById(e.name+"div").innerHTML=selvalue;
聽(tīng)聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)聽(tīng)聽(tīng)}
聽(tīng)}
}
鏁堟灉:鐐瑰嚮"璇誨彇xml鏂囦歡"鎸夐挳,灝嗙浉搴旂殑鍊艱В鏋愬埌鏂囨湰妗嗕腑,濡備笅鎵紺?