锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲成电影在线观看青青,2020亚洲男人天堂精品,国产精品亚洲专区无码WEBhttp://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://3333kkkk.com" target="_blank">免费A级毛片无码免费视</a>| <a href="http://www456788.com" target="_blank">jizz在线免费播放</a>| <a href="http://ydysmedia.com" target="_blank">亚洲一区二区三区首页</a>| <a href="http://xf002.com" target="_blank">亚洲AV永久无码区成人网站</a>| <a href="http://xyxpx.com" target="_blank">亚洲国产精品无码专区在线观看</a>| <a href="http://jujiamy.com" target="_blank">久久青草亚洲AV无码麻豆</a>| <a href="http://51wdn.com" target="_blank">东北美女野外bbwbbw免费</a>| <a href="http://99999pp.com" target="_blank">美女视频黄a视频全免费</a>| <a href="http://imfever.com" target="_blank">亚洲精品无码av天堂</a>| <a href="http://57gt.com" target="_blank">亚洲网站在线观看</a>| <a href="http://777vip8.com" target="_blank">免费精品久久久久久中文字幕</a>| <a href="http://jgc528.com" target="_blank">亚洲免费精彩视频在线观看</a>| <a href="http://cqshangshu.com" target="_blank">破了亲妺妺的处免费视频国产</a>| <a href="http://7x966.com" target="_blank">浮力影院亚洲国产第一页</a>| <a href="http://yy1288.com" target="_blank">无码乱人伦一区二区亚洲 </a>| <a href="http://www-7607.com" target="_blank">亚洲日本一区二区三区在线</a>| <a href="http://www6yg6yg.com" target="_blank">亚洲国产精品午夜电影</a>| <a href="http://yinyinai155.com" target="_blank">美女18一级毛片免费看</a>| <a href="http://472849.com" target="_blank">四虎成人精品永久免费AV</a>| <a href="http://gyqcy.com" target="_blank">亚洲色偷偷av男人的天堂</a>| <a href="http://yongfu-sh.com" target="_blank">一级毛片免费在线播放</a>| <a href="http://sanyoumiaomu.com" target="_blank">国内大片在线免费看</a>| <a href="http://yanyingqiang.com" target="_blank">亚洲av之男人的天堂网站</a>| <a href="http://600c63.com" target="_blank">2020因为爱你带字幕免费观看全集</a>| <a href="http://www04ggg.com" target="_blank">免费va人成视频网站全</a>| <a href="http://79909d.com" target="_blank">亚洲av产在线精品亚洲第一站</a>| <a href="http://c2277.com" target="_blank">少妇性饥渴无码A区免费</a>| <a href="http://ahsuibao.com" target="_blank">无码国产亚洲日韩国精品视频一区二区三区</a>| <a href="http://xyjxnhcl.com" target="_blank">亚洲91av视频</a>| <a href="http://5c7m.com" target="_blank">无码国产精品久久一区免费</a>| <a href="http://tom-erc20.com" target="_blank">亚洲av日韩av无码</a>| <a href="http://yanshimlxg.com" target="_blank">美女视频黄a视频全免费</a>| <a href="http://yidazn.com" target="_blank">国产精品亚洲一区二区三区 </a>| <a href="http://jisuanq.com" target="_blank">亚洲精品国产高清不卡在线</a>| <a href="http://19520888.com" target="_blank">国产精品小视频免费无限app</a>| <a href="http://hs718.com" target="_blank">亚洲一区中文字幕久久</a>| <a href="http://chiguigu.com" target="_blank">四虎成人免费观看在线网址 </a>| <a href="http://woaianli.com" target="_blank">在线观看永久免费</a>| <a href="http://linmh.com" target="_blank">国产成人亚洲精品电影</a>| <a href="http://wwwfac37.com" target="_blank">亚洲女久久久噜噜噜熟女</a>| <a href="http://ymtphoto.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>