锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲欧洲中文日韩久久AV乱码,中文字幕在线观看亚洲,久久亚洲伊人中字综合精品http://www.tkk7.com/balajinima/category/26951.htmlzh-cnTue, 06 Nov 2007 22:41:51 GMTTue, 06 Nov 2007 22:41:51 GMT60DWR瀹炰緥鏁欑▼http://www.tkk7.com/balajinima/articles/158568.html鏉庝簯娉?/dc:creator>鏉庝簯娉?/author>Tue, 06 Nov 2007 07:31:00 GMThttp://www.tkk7.com/balajinima/articles/158568.htmlhttp://www.tkk7.com/balajinima/comments/158568.htmlhttp://www.tkk7.com/balajinima/articles/158568.html#Feedback0http://www.tkk7.com/balajinima/comments/commentRss/158568.htmlhttp://www.tkk7.com/balajinima/services/trackbacks/158568.html
浠ヤ笂鎽樿嚜open-open錛屽畠閫氳繃鍙嶅皠錛屽皢java緲昏瘧鎴恓avascript錛岀劧鍚庡埄鐢ㄥ洖璋冩満鍒訛紝杞繪澗瀹炵幇浜唈avascript璋冪敤Java浠g爜銆?br />
鍏跺ぇ姒傚紑鍙戣繃紼嬪涓嬶細
1.緙栧啓涓氬姟浠g爜錛岃浠g爜鏄拰dwr鏃犲叧鐨勩?br />2.紜涓氬姟浠g爜涓摢浜涚被銆佸摢浜涙柟娉曟槸瑕佺敱javascript鐩存帴璁塊棶鐨勩?br />3.緙栧啓dwr緇勪歡錛屽姝ラ2鐨勬柟娉曡繘琛屽皝瑁呫?br />4.閰嶇疆dwr緇勪歡鍒癲wr.xml鏂囦歡涓紝濡傛灉鏈夊繀瑕侊紝閰嶇疆convert錛岃繘琛宩ava鍜宩avascript綾誨瀷浜掕漿銆?br />5.閫氳繃鍙嶅皠鏈哄埗錛宒wr灝嗘楠?鐨勭被杞崲鎴恓avascript浠g爜錛屾彁渚涚粰鍓嶅彴欏甸潰璋冪敤銆?br />5.緙栧啓緗戦〉錛岃皟鐢ㄦ楠?鐨刯avascript涓殑鐩稿叧鏂規硶錛堥棿鎺ヨ皟鐢ㄦ湇鍔″櫒绔殑鐩稿叧綾葷殑鏂規硶錛夛紝鎵ц涓氬姟閫昏緫錛屽皢鎵ц緇撴灉鍒╃敤鍥炶皟鍑芥暟榪斿洖銆?br />6.鍦ㄥ洖璋冨嚱鏁頒腑錛屽緱鍒版墽琛岀粨鏋滃悗錛屽彲浠ョ戶緇紪鍐欎笟鍔¢昏緫鐨勭浉鍏砵avascript浠g爜銆?br />
涓嬮潰浠ョ敤鎴鋒敞鍐岀殑渚嬪瓙錛屾潵璇存槑鍏朵嬌鐢ㄣ傦紙娉ㄦ剰錛屾湰嬈′緥瀛愬彧鏄敤浜庢紨紺猴紝璇存槑DWR鐨勪嬌鐢紝綾昏璁″茍涓嶆槸鏈浼樼殑錛夈?br />
1.鍏堜粙緇嶄笅鐩稿叧鐨凧ava綾?br />
聽聽User: 鐢ㄦ埛綾伙紝
聽聽public class User {
//鐧婚檰ID錛屼富閿敮涓
private String id;
//濮撳悕
private String name;
//鍙d護
private String password;
//鐢靛瓙閭歡
private String email;
聽聽聽聽聽聽聽聽
//浠ヤ笅鍖呭惈getXXX鍜宻etXXX鏂規硶
.......
聽聽}

聽聽UserDAO錛氬疄鐜癠ser鐨勬暟鎹簱璁塊棶錛岃繖閲屼綔涓轟竴涓紨紺猴紝緙栧啓嫻嬭瘯浠g爜
聽聽public class UserDAO {
聽聽聽聽//瀛樻斁淇濆瓨鐨勬暟鎹?br />聽聽聽聽private static Map dataMap = new HashMap();

聽聽聽聽//鎸佷箙鐢ㄦ埛
聽聽聽聽public boolean save(User user) {
聽聽聽聽聽聽if (dataMap.containsKey(user.getId()))
聽聽聽聽聽聽聽聽return false;
聽聽聽聽聽聽System.out.println("涓嬮潰寮濮嬩繚瀛樼敤鎴?);
聽聽聽聽聽聽System.out.println("id錛?+user.getId());
聽聽聽聽聽聽System.out.println("password錛?+user.getPassword());
聽聽聽聽聽聽System.out.println("name錛?+user.getName());
聽聽聽聽聽聽System.out.println("email錛?+user.getEmail());
聽聽聽聽聽聽dataMap.put(user.getId(), user);
聽聽聽聽聽聽System.out.println("鐢ㄦ埛淇濆瓨緇撴潫");
聽聽聽聽聽聽return true;
聽聽聽聽}

聽聽聽聽//鏌ユ壘鐢ㄦ埛
聽聽聽聽public User find(String id) {
聽聽聽聽聽聽return (User)dataMap.get(id);
聽聽聽聽}
}

聽聽DWRUserAccess錛欴WR緇勪歡錛屾彁渚涚粰javascript璁塊棶鐨勩?br />
聽聽public class DWRUserAccess {

聽聽聽聽聽聽UserDAO userDAO = new UserDAO();

聽聽聽聽聽聽public boolean save(User user) {
聽聽聽聽聽聽聽聽return userDAO.save(user);
聽聽聽聽聽聽}

聽聽聽聽聽聽public User find(String id) {
聽聽聽聽聽聽聽聽return userDAO.find(id);
聽聽聽聽聽聽}
聽聽}
聽聽

聽聽涓嬮潰璇存槑涓嬬▼搴忔墽琛岀殑嫻佺▼

聽聽1.鐢ㄦ埛鍦ㄩ〉闈笂杈撳叆鐩稿叧娉ㄥ唽淇℃伅錛宨d銆乶ame銆乸assword銆乪mail錛岀偣鍑燴滄彁浜も濇寜閽?br />聽聽2.javascript浠g爜寮濮嬫墽琛岋紝鏍規嵁鐢ㄦ埛濉啓鐩稿叧淇℃伅錛岄氳繃dwr鎻愪緵鐨凞WRUserAccess.js閲宻ave鐨勬柟娉曪紝璋冪敤鏈嶅姟鍣ㄧ鐨凞WRUserAccess綾籹ave鏂規硶錛屽皢娉ㄥ唽淇℃伅淇濆瓨銆?br />聽聽3.閫氳繃DWRUserAccess.jsp閲岀殑find鏂規硶錛岃皟鐢ㄦ湇鍔″櫒绔疍WRUserAccess綾婚噷鐨刦ind鏂規硶錛屾墽琛岀敤鎴蜂俊鎭煡鎵俱?br />
聽聽娉ㄦ剰錛屽湪浠ヤ笂鐨勬墽琛岃繃紼嬩腑錛孌WRUserAccess鏄緵DWR璋冪敤鐨勶紝鏄疍WR緇勪歡錛屽洜姝ら渶瑕佸皢DWRUserAccess綾婚厤緗埌dwr涓?br />
聽聽鎺ヤ笅鏉ヨ瑙f湰嬈wr嫻嬭瘯鐜鐨勯厤緗?br />
聽聽1.鏂板緩涓涓獁ebapp錛屽懡鍚嶄負testApp
聽聽2.灝哾wr.jar鎷瘋礉鍒皌estApp鐨刉EB-INF鐨刲ib鐩綍涓?br />聽聽3.緙栬瘧涓婇潰鐨刄ser錛孶serDAO錛孌WRUserAccess綾伙紝鏀懼埌classes鐩綍涓?br />聽聽4.鍦╳eb.xml涓厤緗畇ervlet,閫傞厤璺緞鍒癲wr鐩綍涓?濡備笅鎵紺?br />聽聽聽聽<servlet>
聽聽聽聽<servlet-name>dwr-invoker</servlet-name>
聽聽聽聽<display-name>DWR Servlet</display-name>
聽聽聽聽<description>Direct Web Remoter Servlet</description>
聽聽聽聽<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
聽聽聽聽<init-param>
聽聽聽聽聽聽<param-name>debug</param-name>
聽聽聽聽聽聽<param-value>true</param-value>
聽聽聽聽</init-param>
聽聽聽聽<init-param>
聽聽聽聽聽聽<param-name>scriptCompressed</param-name>
聽聽聽聽聽聽<param-value>false</param-value>
聽聽聽聽</init-param>
聽聽聽聽<load-on-startup>1</load-on-startup>
聽聽</servlet>

聽聽<servlet-mapping>
聽聽聽聽<servlet-name>dwr-invoker</servlet-name>
聽聽聽聽<url-pattern>/dwr/*</url-pattern>
聽聽</servlet-mapping>

聽聽浠ヤ笂鐨勯厤緗彲浠ユ嫤鎴猼estApp涓嬫墍鏈夋寚鍚慸wr鐨勮姹傦紝鍏充簬榪欎釜鎷︽埅鍣紝鎴戜滑浼氬湪鍚庨潰浠嬬粛銆?br />
聽聽5.WEB-INF涓嬫柊寤轟竴涓猟wr.xml鏂囦歡錛屽唴瀹瑰涓嬶細
聽聽<聽xml version="1.0" encoding="UTF-8"聽>
<!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="DWRUserAccess">
聽聽聽聽聽聽<param name="class" value="test.DWRUserAccess"/>
聽聽聽聽</create>
<convert converter="bean" match="test.User"/>
聽聽</allow>
</dwr>

聽聽榪欓噷鎴戜滑鎶奃WRUserAccess閰嶇疆鍒頒簡dwr涓紝create鍏冪礌涓紝creater="new"琛ㄧず姣忚皟鐢ㄤ竴嬈WRUserAccess鏃訛紝闇瑕乶ew涓涓繖鏍風殑綾伙紱javascript="DWRUserAccess"錛岃〃紺烘彁渚涚粰鍓嶅彴欏甸潰璋冪敤鐨刯avascirpt鏂囦歡鏄疍WRUserAccess.js銆?br />
聽聽convert鍏冪礌鐢ㄤ簬鏁版嵁綾誨瀷杞崲錛屽嵆java綾誨拰javascript涔嬮棿鐩鎬簰杞崲錛屽洜涓哄拰鍓嶅彴浜ゆ崲鐨勬槸User瀵硅薄錛屽洜姝ら渶瑕佸姝や嬌鐢╞ean杞崲錛屾垜浠皢鍦ㄥ悗闈粙緇嶈繖涓被銆?br />
聽聽4.緙栧啓嫻嬭瘯鐨凥TML欏甸潰 test.html
聽聽 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>DWR嫻嬭瘯</TITLE>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<script src="/oblog312/dwr/engine.js"></script>
<script src="/oblog312/dwr/util.js"></script>
<script src="/oblog312/dwr/interface/DWRUserAccess.js"></script>
</HEAD>
<BODY>
<B>鐢ㄦ埛娉ㄥ唽</B><br>
------------------------------------------------
<Br>
<form name="regForm">
鐧婚檰ID錛?lt;input type="text" name="id"><br>
鍙B犅犱護錛?lt;input type="password" name="password"><br>
濮撀犅犲悕錛?lt;input type="text" name="name"><br>
鐢靛瓙閭歡錛?lt;input type="text" name="email"><br>
<input type="button" name="submitBtn" value="鎻愪氦" onclick="OnSave()"><br>
聽聽聽聽</form>

<br>
<br><B>鐢ㄦ埛鏌ヨ</B><br>
------------------------------------------------
<Br>
<form name="queryForm">
鐧婚檰ID錛?lt;input type="text" name="id"><br>
<input type="button" name="submitBtn" value="鎻愪氦" onclick="OnFind()"><br>
</form>
<br>
</BODY>
</HTML>
<SCRIPT LANGUAGE="JavaScript">
<!--
function saveFun(data) {
if (data) {
聽聽alert("娉ㄥ唽鎴愬姛錛?);
} else {
聽聽alert("鐧婚檰ID宸茬粡瀛樺湪錛?);
}
}

function OnSave() {
var userMap = {};
userMap.id = regForm.id.value;
userMap.password = regForm.password.value;
userMap.name = regForm.name.value;
userMap.email = regForm.email.value;
DWRUserAccess.save(userMap, saveFun);
}

function findFun(data) {
if (data == null) {
聽聽alert("鏃犳硶鎵懼埌鐢ㄦ埛錛?+queryForm.id.value);
聽聽return;
}

alert("鎵懼埌鐢ㄦ埛錛宯id錛?+data.id+"錛宯password錛?+data.password+"錛宯name錛?+data.name+"錛宯email錛?+data.email);

}

function OnFind() {
DWRUserAccess.find(queryForm.id.value, findFun);
}
//-->
</SCRIPT>


浠ヤ笅瀵歸〉闈㈢殑javascript榪涜瑙i噴

<script src="/oblog312/dwr/engine.js"></script>
<script src="/oblog312/dwr/util.js"></script>
榪欎袱涓槸dwr鎻愪緵鐨勶紝鐢ㄦ埛鍙互涓嶅繀鍏沖績錛屽彧闇瑕佸鍏ュ嵆鍙?br />
<script src="/oblog312/dwr/interface/DWRUserAccess.js"></script>
鏄垜浠紪鍐欑殑DWRUserAccess綾伙紝緇廳wr鍙嶅皠鍚庯紝鐢熸垚鐨刯avascript浠g爜錛屽畠鍜孌WRUserAccess.java鏄搴旂殑錛屼緵鐢ㄦ埛璋冪敤錛屽疄闄呬笂鎴戜滑灝辨槸閫氳繃榪欎釜js鏂囦歡鍘昏皟鐢ㄦ湇鍔″櫒绔殑DWRUserAccess綾葷殑銆?br />
<SCRIPT LANGUAGE="JavaScript">
<!--
function saveFun(data) {
if (data) {
聽聽alert("娉ㄥ唽鎴愬姛錛?);
} else {
聽聽alert("鐢ㄦ埛鍚嶅凡緇忓瓨鍦紒");
}
}

function OnSave() {
var userMap = {};
userMap.id = regForm.id.value;
userMap.password = regForm.password.value;
userMap.name = regForm.name.value;
userMap.email = regForm.email.value;
DWRUserAccess.save(userMap, saveFun);
}

function findFun(data) {
if (data == null) {
聽聽alert("鏃犳硶鎵懼埌鐢ㄦ埛錛?+queryForm.id.value);
聽聽return;
}

alert("鎵懼埌鐢ㄦ埛錛宯id錛?+data.id+"錛宯password錛?+data.password+"錛宯name錛?+data.name+"錛宯email錛?+data.email);

}

function OnFind() {
DWRUserAccess.find(queryForm.id.value, findFun);
}
//-->
</SCRIPT>

榪欐javascirpt浠g爜錛屾垜浠潵鐪嬩笅OnSave鍑芥暟錛岄鍏堝畠鏋勯犱竴涓猰ap錛屽皢琛ㄥ崟鏁版嵁閮借緗埌map涓紝鐒跺悗璋冪敤DWRUserAccess.save(userMap, saveFun)錛屾墽琛宻ave鎿嶄綔銆傚ぇ瀹跺彲浠ユ敞鎰忓埌錛屾湇鍔″櫒绔殑DWRUserAccess涓殑save鏂規硶鏄繖鏍風殑錛歜oolean save(User user)錛屽叾鍙傛暟鏄竴涓猆ser瀵硅薄錛岃繑鍥炰竴涓猙oolean鍊鹼紱鑰屽鎴風鐨勬柟娉曟槸榪欐牱鐨勶細save(userMap,saveFun)錛岀涓涓弬鏁皍serMap鏄痡avascirpt涓殑map瀵硅薄錛屽湪榪欓噷鐩稿綋浜庢湇鍔″櫒绔殑User瀵硅薄錛堝湪鏈嶅姟鍣ㄧ鎵ц鏃訛紝浼氶氳繃convert杞崲鎴怳ser瀵硅薄錛夛紝鍓嶉潰鎴戜滑鎻愬埌dwr鏄埄鐢ㄥ洖璋冨嚱鏁版潵榪斿洖鎵ц緇撴灉鐨勶紝絎簩涓弬鏁皊aveFun鍗蟲槸涓涓洖璋冨嚱鏁般傚湪鍑芥暟function saveFun(data)涓紝data鏄墽琛岀粨鏋滐紝榪欓噷鏄竴涓猙ool鍊鹼紝闈炲父綆鍗曠殑錛屾垜浠氳繃鍒ゆ柇data鏄惁涓虹湡錛屽彲浠ョ煡閬撶敤鎴峰悕鏄惁閲嶅錛岀敤鎴鋒槸鍚︽敞鍐屾垚鍔熴?br />
鐪嬩竴涓婳nFind鏌ユ壘鍑芥暟錛屾墽琛岀粨鏋滃湪鍥炶皟鍑芥暟findFun(data)涓紝鍥犱負鏈嶅姟鍣ㄧ榪斿洖鐨勬槸涓涓猆ser瀵硅薄錛岄氳繃convert錛屽皢浼氳漿鎹㈡垚javascript鐨勪竴涓猰ap瀵硅薄錛?br />浜庢槸鍦╢indFun涓紝閫氳繃data.id銆乨ata.name銆乨ata.password銆乨ata.email鎴戜滑鍙互杞繪澗鐨勮闂埌榪欎釜User瀵硅薄銆?br />

濂戒簡閰嶇疆瀹屾瘯錛屽惎鍔ㄦ湇鍔″櫒錛屽湪鐩綍涓墦鍏ocalhost/testApp/test.html銆?br />
1.鍦ㄢ滅敤鎴鋒敞鍐屸濊〃鍗曚腑錛宨d妗嗕腑杈撳叆admin錛宲assword涓緭鍏?23456錛宯ame涓緭鍏henbug錛宔mail涓緭鍏henbug@zj.com錛岀偣鍑繪彁浜ゆ寜閽紝寮瑰嚭瀵硅瘽妗嗭細鈥滄敞鍐屾垚鍔熲濓紝鍦ㄦ湇鍔″櫒鍚庡彴鍙互鐪嬪埌淇℃伅濡備笅錛?br />
涓嬮潰寮濮嬩繚瀛樼敤鎴?br />id錛歛dmin
password錛?23456
name錛歝henbug
email錛歝henbug@zj.com
鐢ㄦ埛淇濆瓨緇撴潫

鍐嶆鐐瑰嚮鎻愪氦鎸夐挳錛屽脊鍑哄璇濇鈥滅櫥闄咺D宸茬粡瀛樺湪鈥濄?br />
2.鍦ㄢ滅敤鎴鋒煡璇⑩濆璇濇涓紝杈撳叆鐧婚檰ID涓篴dmin錛岀偣鍑繪彁浜ゆ寜閽紝鎻愮ず鎵懼埌鐢ㄦ埛錛屽茍鏄劇ず鐩稿叧淇℃伅錛岃緭鍏dmin123錛岀偣鍑繪彁浜ゆ寜閽紝鎻愮ず鏃犳硶鎵懼埌鐢ㄦ埛銆?br />
鑷蟲錛屾祴璇曠粨鏉熴?br />

鍚庣畫錛?br />1銆傛嫤鎴櫒 uk.ltd.getahead.dwr.DWRServlet
璇ョ被鎷︽埅鎵鏈夋寚鍚慸wr鐩綍涓嬬殑璇鋒眰錛屽茍璋冪敤Processor鐨刪andler鏂規硶榪涜澶勭悊錛屽湪uk.ltd.getahead.dwr.impl.DefaultProcessor涓嬶紝鎴戜滑鍙互鐪嬪埌璇︾粏鐨勫鐞嗚繃紼嬨?br />if (pathInfo.length() == 0 ||
聽聽聽聽聽聽聽聽聽聽聽聽pathInfo.equals(HtmlConstants.PATH_ROOT) ||
聽聽聽聽聽聽聽聽聽聽聽聽pathInfo.equals(req.getContextPath()))
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽resp.sendRedirect(req.getContextPath() + servletPath + HtmlConstants.FILE_INDEX);
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽else if (pathInfo.startsWith(HtmlConstants.FILE_INDEX))
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽index.handle(req, resp);
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽else if (pathInfo.startsWith(HtmlConstants.PATH_TEST))
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽test.handle(req, resp);
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽else if (pathInfo.startsWith(HtmlConstants.PATH_INTERFACE))
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽iface.handle(req, resp);
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽else if (pathInfo.startsWith(HtmlConstants.PATH_EXEC))
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽exec.handle(req, resp);
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽else if (pathInfo.equalsIgnoreCase(HtmlConstants.FILE_ENGINE))
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽file.doFile(req, resp, HtmlConstants.FILE_ENGINE, HtmlConstants.MIME_JS);
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽else if (pathInfo.equalsIgnoreCase(HtmlConstants.FILE_UTIL))
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽file.doFile(req, resp, HtmlConstants.FILE_UTIL, HtmlConstants.MIME_JS);
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽else if (pathInfo.equalsIgnoreCase(HtmlConstants.FILE_DEPRECATED))
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽file.doFile(req, resp, HtmlConstants.FILE_DEPRECATED, HtmlConstants.MIME_JS);
聽聽聽聽聽聽聽聽}
聽聽聽聽聽聽聽聽else
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽log.warn("Page not found (" + pathInfo + "). In debug/test mode try viewing /[WEB-APP]/dwr/"); //$NON-NLS-1$ //$NON-NLS-2$
聽聽聽聽聽聽聽聽聽聽聽聽resp.sendError(HttpServletResponse.SC_NOT_FOUND);
聽聽聽聽聽聽聽聽}

閫氳繃鍒ゆ柇request璇鋒眰鐨剆ervlet璺緞錛岃繘琛屽鐞嗭紝澶у鍙互鑷繁鍘誨弬鐪嬶紝榪欓噷涓嶈緇嗚璁恒?br />

2.bean杞崲鍣紝<convert converter="bean" match="test.User"/>
灝哾wr.jar瑙e帇緙╋紝鍦ㄨ礬寰剈kltdgetaheaddwr涓嬪彲浠ョ湅鍒癲wr.xml錛岃繖閲岄厤緗簡緋葷粺榛樿鐨勪竴浜涜漿鎹㈠櫒錛?br /><converter id="bean" class="uk.ltd.getahead.dwr.convert.BeanConverter"/>鍗蟲槸鍒氭墠鐢ㄥ埌User綾葷殑杞崲鍣紝榪涘叆浠g爜鎴戜滑鏉ョ湅鐪嬪畠鏄浣曞湪javascript鍜宩ava闂磋繘琛岃漿鎹㈢殑銆?br />
鎵撳紑BeanConverter浠g爜錛屽畾浣嶅埌鍑芥暟

public Object convertInbound(Class paramType, InboundVariable iv, InboundContext inctx) throws ConversionException

鍗蟲槸灝唈avascript瀵硅薄杞崲鎴恓ava瀵硅薄鐨勶紝鍏朵腑
paramType鍗矯lass綾誨瀷錛屽湪涓婇潰鐨勪緥瀛愪腑鏄痶est.User錛?br />InboundVariable iv錛屾槸浼犲叆鐨勫鹼紝閫氳繃iv.getValue鍙互寰楀埌浼犲叆鐨刯avascript鍊間覆
InboundContext inctx錛屾槸鍏ュ彛鍙傛暟涓婁笅鏂囷紝鐢ㄤ簬淇濆瓨杞崲鐨勫悗java瀵硅薄銆?br />
鍥犱負鍓嶅彴浼犲叆鐨勬槸涓涓猨avascript鐨刴ap綾誨瀷錛岃宮ap鑲畾鏄互{寮濮嬪拰浠緇撴潫鐨勶紝浜庢槸鍦ㄨ繖涓嚱鏁頒竴寮濮嬭繘琛屼簡鍒ゆ柇
if (!value.startsWith(ConversionConstants.INBOUND_MAP_START))
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽throw new IllegalArgumentException(Messages.getString("BeanConverter.MissingOpener", ConversionConstants.INBOUND_MAP_START)); //$NON-NLS-1$
聽聽聽聽聽聽聽聽}

聽聽聽聽聽聽聽聽if (!value.endsWith(ConversionConstants.INBOUND_MAP_END))
聽聽聽聽聽聽聽聽{
聽聽聽聽聽聽聽聽聽聽聽聽throw new IllegalArgumentException(Messages.getString("BeanConverter.MissingCloser", ConversionConstants.INBOUND_MAP_START)); //$NON-NLS-1$
聽聽聽聽聽聽聽聽}

javascript涓紝map閲屽悇涓」鏄敤閫楀彿榪炴帴鐨勶紝濡倂ar userMap = {id:'admin',password:'123456',name:'chenbug',email:'chenbug@zj.com'};鑰屾瘡涓」鐨勯敭鍊煎鏄敤鍐掑彿榪炴帴鐨勶紝
鍦╟onvertInbound鍑芥暟鐨勬帴涓嬫潵鐨勫鐞嗕腑錛屽嵆鏄氳繃鍒嗘瀽map瀛椾覆錛岄氳繃paramType鏋勯爅ava瀹炰緥錛堝嵆User綾伙級錛岀劧鍚庨氳繃鍙嶅皠錛屽皢榪欎簺閿煎璁劇疆鍒癹ava瀹炰緥涓紝騫惰繑鍥炪?br />榪欐牱灝卞畬鎴愪簡javascript鍒癹ava鐨勮漿鎹€?br />

鍙︿竴涓嚱鏁?br />public String convertOutbound(Object data, String varname, OutboundContext outctx) throws ConversionException

鍗蟲槸灝唈ava瀵硅薄杞崲涓簀avascript瀵硅薄錛堝叾瀹炴槸澹版槑鍜岃祴鍊艱鍙ワ級銆?br />Object data 錛屾槸寰呰漿鎹㈢殑java瀵硅薄
String varname錛屾槸javascript涓殑璇ュ璞$殑鍙橀噺鍚?br />OutboundContext outctx錛屼紶鍑哄弬鏁頒笂涓嬫枃錛岀敤浜庝繚瀛樿漿鎹㈠悗鐨刯avascript鍊?br />
StringBuffer buffer = new StringBuffer();
聽聽聽聽聽聽聽聽buffer.append("var "); //$NON-NLS-1$
聽聽聽聽聽聽聽聽buffer.append(varname);
聽聽聽聽聽聽聽聽buffer.append("={};"); //$NON-NLS-1$
榪欓噷澹版槑浜唌ap綾誨瀷鐨勫彉閲忋?br />
鍗充笅鏉ユ潵鐨勪唬鐮佸嵆鏄氳繃鍙嶅皠榪涜鍙橀噺璧嬪鹼紝濡備笅
聽聽buffer.append(varname);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽buffer.append('.');
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽buffer.append(name);
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽buffer.append('=');
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽buffer.append(nested.getAssignCode());
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽buffer.append(';');
澶у鍙互鑷繁鍘誨弬鐪嬫洿澶氱殑浠g爜銆?br />
3.dwr鏈韓鎻愪緵浜嗕竴涓祴璇曠幆澧冿紝澶у鍦ㄩ厤緗畬鍚庯紝鍙互鍦↖E涓緭鍏ュ湴鍧http://localhost/testApp/dwr/index.html錛岀湅鍒伴厤緗殑鍚凞WR緇勪歡錛屽茍榪涜鐩稿叧嫻嬭瘯銆?img src ="http://www.tkk7.com/balajinima/aggbug/158568.html" width = "1" height = "1" />

]]>
鍐檇wr demo鐨勬椂鍊欒煩鍑簊ession error鐨勮В鍐?/title><link>http://www.tkk7.com/balajinima/articles/157478.html</link><dc:creator>鏉庝簯娉?/dc:creator><author>鏉庝簯娉?/author><pubDate>Thu, 01 Nov 2007 06:06:00 GMT</pubDate><guid>http://www.tkk7.com/balajinima/articles/157478.html</guid><wfw:comment>http://www.tkk7.com/balajinima/comments/157478.html</wfw:comment><comments>http://www.tkk7.com/balajinima/articles/157478.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/balajinima/comments/commentRss/157478.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/balajinima/services/trackbacks/157478.html</trackback:ping><description><![CDATA[ <p>dwr鍐檇emo鐨勬椂鍊欓亣鍒扮殑涓涓棶棰?璺沖嚭session error<br />闂鎻忚堪:<br />鍓嶅彴欏甸潰璺沖嚭session error鐨勫璇濇<br />鑰屾帶鍒跺彴鍒欒緭鍑?<br />2007-5-29 11:58:53 org.directwebremoting.util.CommonsLoggingOutput error<br />涓ラ噸: A request has been denied as a potential CSRF attack.<br />鐨勯敊璇俊鎭?<br />璇鋒眰琚嫆緇濆洜涓哄彲鑳藉瓨鍦╟srf(cross-site request forgeries,璺ㄧ珯璇鋒眰浼?鏀誨嚮.<br />涔熷氨鏄欏甸潰URL鍙兘琚法绔欎簡鐨勬湇鍔℃墍璋冪敤.<br />渚嬪:鑷繁欏甸潰鐨勪竴涓浘鐗?鍙兘琚叾浠栫珯鐩存帴閫氳繃[img]....[/img]鏉ュ紩鐢?<br /><br />欏甸潰鍒欐樉紺?/p> <p>瑙e喅鏂規硶:<br />鍦╳eb.xml閰嶇疆鏂囦歡涓?.<br />dwr鐨勯厤緗?br /></p> <div style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 95%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid"> <div> <img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" /> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">servlet</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />聽聽</span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">servlet-name</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">dwr-invoker</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">servlet-name</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />聽聽</span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">servlet-class</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">org.directwebremoting.servlet.DwrServlet</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">servlet-class</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />聽聽</span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">init-param</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />聽聽聽</span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">param-name</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">debug</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">param-name</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />聽聽聽</span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">param-value</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">true</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">param-value</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />聽聽</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">init-param</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />聽聽</span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">init-param</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">聽聽聽<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽聽聽</span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">param-name</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">crossDomainSessionSecurity</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">param-name</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">聽聽聽<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽聽聽聽聽</span> <span style="COLOR: #0000ff"><</span> <span style="COLOR: #800000">param-value</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">false</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">param-value</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000">聽聽聽<br /><img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />聽聽聽聽聽聽聽聽</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">init-param</span> <span style="COLOR: #0000ff">></span> <span style="COLOR: #000000"> <br /> <img alt="" src="http://images.csdn.net/syntaxhighlighting/OutliningIndicators/None.gif" align="top" />聽</span> <span style="COLOR: #0000ff"></</span> <span style="COLOR: #800000">servlet</span> <span style="COLOR: #0000ff">></span> </div> </div> <p> <br />鍔犲叆corssDomainSessionSecurity榪欎釜閰嶇疆閫夐」..榪欎釜鍙傛暟鏄湪dwr鐗堟湰2.0鎵嶆湁鐨?榛樿鍊間負true,涔熷氨鏄?/p> <p>紱佹鍏朵粬鍩熷彂閫佽姹?<br />corssDomainSessionSecurity:璁劇疆鎴恌alse鑳藉浠庡叾浠栧煙榪涜璇鋒眰.娉ㄦ剰榪欐牱鍋氫細鍦ㄥ畨鍏ㄦт笂鏈変竴浜涘啋闄?</p> <img src ="http://www.tkk7.com/balajinima/aggbug/157478.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/balajinima/" target="_blank">鏉庝簯娉?/a> 2007-11-01 14:06 <a href="http://www.tkk7.com/balajinima/articles/157478.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> 主站蜘蛛池模板: <a href="http://786087.com" target="_blank">四虎影视久久久免费</a>| <a href="http://dazhe777.com" target="_blank">亚洲色无码专区一区</a>| <a href="http://dstbxg.com" target="_blank">GOGOGO免费观看国语</a>| <a href="http://xxnxgay.com" target="_blank">亚洲日韩中文字幕日韩在线</a>| <a href="http://2023852.com" target="_blank">久久国产乱子伦精品免费强</a>| <a href="http://2xpp.com" target="_blank">综合亚洲伊人午夜网</a>| <a href="http://bovch.com" target="_blank">久久精品成人免费国产片小草</a>| <a href="http://zzxngk.com" target="_blank">亚洲一区无码精品色</a>| <a href="http://4228970.com" target="_blank">一本一道dvd在线观看免费视频 </a>| <a href="http://eldadhagar.com" target="_blank">国内精品久久久久影院亚洲</a>| <a href="http://ydysmedia.com" target="_blank">亚洲av无码专区国产不乱码</a>| <a href="http://44168888.com" target="_blank">麻豆国产VA免费精品高清在线</a>| <a href="http://flowsns.com" target="_blank">亚洲精品一卡2卡3卡四卡乱码</a>| <a href="http://zzz477.com" target="_blank">蜜臀91精品国产免费观看</a>| <a href="http://av-fantasy.com" target="_blank">亚洲欧美日韩自偷自拍</a>| <a href="http://bz600.com" target="_blank">日韩伦理片电影在线免费观看</a>| <a href="http://xxzyyj.com" target="_blank">国产亚洲精品美女久久久久久下载 </a>| <a href="http://449892.com" target="_blank">亚洲图片校园春色</a>| <a href="http://66eeb.com" target="_blank">日韩精品无码区免费专区</a>| <a href="http://438266.com" target="_blank">亚洲国产精品成人综合色在线</a>| <a href="http://8884493.com" target="_blank">国产美女无遮挡免费视频</a>| <a href="http://ylptt.com" target="_blank">特级毛片爽www免费版</a>| <a href="http://youyou8tv.com" target="_blank">亚洲人成中文字幕在线观看</a>| <a href="http://diswooo.com" target="_blank">久久青草精品38国产免费</a>| <a href="http://2002tw.com" target="_blank">久久精品国产99国产精品亚洲</a>| <a href="http://chaoxung.com" target="_blank">国产裸体美女永久免费无遮挡</a>| <a href="http://hnlchb.com" target="_blank">好看的亚洲黄色经典</a>| <a href="http://2266511.com" target="_blank">在线亚洲v日韩v</a>| <a href="http://8xxon8.com" target="_blank">亚洲一区爱区精品无码</a>| <a href="http://doubiseo.com" target="_blank">57pao一国产成永久免费</a>| <a href="http://99999pp.com" target="_blank">亚洲人片在线观看天堂无码</a>| <a href="http://tzfzs.com" target="_blank">亚洲中文字幕视频国产</a>| <a href="http://xxxck.com" target="_blank">131美女爱做免费毛片</a>| <a href="http://0359jgyy.com" target="_blank">亚洲人成未满十八禁网站</a>| <a href="http://sdtuoliuta.com" target="_blank">亚洲国产成人乱码精品女人久久久不卡</a>| <a href="http://langse3.com" target="_blank">在线免费观看h片</a>| <a href="http://yeyaweiban.com" target="_blank">亚洲综合成人婷婷五月网址</a>| <a href="http://cnepu.com" target="_blank">亚洲国产一区二区三区</a>| <a href="http://wwwbi757.com" target="_blank">最近免费中文字幕大全高清大全1 最近免费中文字幕mv在线电影 </a>| <a href="http://jlzjjy.com" target="_blank">在线观看亚洲AV日韩AV</a>| <a href="http://88bgbg.com" target="_blank">亚洲视频在线一区二区</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>