锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
鍦ㄧ綉涓婃悳Annotation鐨勫涔犺祫鏂欎笉鏄緢澶氾紝榪樻槸鐢ㄧ殑浜轟笉澶?img src="/CuteSoft_Client/CuteEditor/images/emembarrassed.gif" alt="" align="absmiddle" border="0" />錛屾瘮杈冪粡鍏哥殑鍏ラ棬灝辨槸榪欎釜錛?a target="_blank" title="瀹炴垬綃囷細璁捐鑷繁鐨凙nnotation" >瀹炴垬綃囷細璁捐鑷繁鐨凙nnotation錛屽緢娓呮錛岄氫織鏄撴噦錛岃繖閲屾垜灝變笉璧樿堪浜嗐傜劧鑰屼粎浠呮槸寮勬噦瀹冩槸鎬庝箞鍥炰簨錛屽叿浣撹繕鏄病浠涔堢敤澶勶紝榪欎篃鏄ぇ澶氭暟寮鍙戜漢鍛樼殑鎰熻銆?br />
鍦ㄧ幇鍦ㄧ殑鍏徃鐨勭粡鍘嗕袱嬈℃鏋跺崌綰э紝絎竴嬈℃病鏈夌敤鍒癆nnotation錛寈ml閰嶇疆鏂囦歡澶ц鍏墮亾錛欰ction璺寵漿銆両batis sqlmapper銆丗orm琛ㄥ崟(鎴戜滑鐨勮〃鍗曢兘鏄粠鍚庡彴鐢熸垚鐨?錛屾暣涓」鐩畑ml鐪艱姳緙貢錛屾瘡涓ā鍧楅兘鏈夎嚜宸變笓灞炵殑閰嶇疆鏂囦歡錛岀劧鍚庨泦涓埌涓璧峰鐞嗭紝鑰屾垜浠渶鐥涜嫤鐨勮帿榪囦簬鍐欓偅澶ч噺閲嶅鐨勯厤緗枃浠躲?br />
鍚庢潵鍏徃鎺ヤ簡涓狤RP鐨勫崟瀛愶紝鎶鏈葷洃椹笂鎰忚瘑鍒版鏋惰鍗囩駭浜嗭紝浠栨妧鏈緢鐗涳紝鎴戜滑鍏徃鐨勬鏋跺氨鏄粬涓浜哄啓鐨勶紝涓ゅ懆涔嬪悗錛屾柊妗嗘灦鍑虹倝錛寈ml鍙繚鐣欎笁鍒嗕箣涓錛欰ction璺寵漿銆丗orm琛ㄥ崟閮戒笉鍐嶄嬌鐢▁ml閰嶇疆錛岃屾槸Annotation妯┖鍑轟笘錛岀粰鎴戠殑鎰熻錛氬畠?yōu)鍍忎竴涓晳涓栦富錛岃鎴戜滑鐨勬鏋墮噸鐢燂紝瀹冨氨鏄繖嬈″崌綰х殑鏈澶т寒鐐癸紝鍙湁sqlmapper渚濈劧淇濈暀錛岃繖鏃犲彲鍘氶潪錛屽洜涓哄畠鍘熸湰鏄痠batis灝佽鐨勶紝Action鎺у埗鍣ㄦ棦涓嶆槸Struts1錛孲truts2錛屼篃涓嶆槸Webwork錛屾槸鎬葷洃鑷繁灝佽鐨凷ervlet錛孎orm琛ㄥ崟閮界敱鍚庡彴鐢熸垚js緇勪歡鎶涘埌鍓嶇錛岄氳繃鍙嶇紪璇戠湅鍒版簮鐮侊紝鍏跺疄榪樻槸寰堝熀紜鐨勶紝璐翠簺浠g爜涓婃潵鐪嬩笅鍚э細
1.Action璇鋒眰閮ㄥ垎錛?br />
* 鏄劇ず鏂板欏甸潰
* author YuWenLin
* date 2010-5-13 涓婂崍10:31:57
* @param data
*/
@Action("/add.shtml")
@Permission("client.ContractType.add")
public void add(ActionData data){
FormBuilder builder = data.getService(FormBuilder.class);
builder.append(Type.class);
builder.setAction("client/contract/type/add.do");
data.put("script", builder);
//鍚戦〉闈㈡姏鍑篶ookie鎻愮ず淇℃伅
MessageUtil.putMessage(data);
data.setResulter("template");
data.setPath("client/contract/type/type.shtml");
}
2.鍐嶆潵鐪嬬湅@Action搴曞眰鐨勫畾涔夛細
import java.lang.annotation.Annotation;
public interface Action
extends Annotation
{
public abstract String value();
}
3.JavaBean鐢熸垚琛ㄥ崟錛?br />
@Valider({"notempty","len(2,8)"})
public void setName(String name) {
this.name = name;
}
4.@Widget搴曞眰瀹氫箟錛?br />
public interface Widget
extends Annotation
{
public abstract String value();
public abstract String defaultValue();
public abstract String dataType();
public abstract String dataSource();
}
鎬庝箞鏍鳳紝鐪嬪埌榪欎簺錛屼技涔庤寰桝nnotation寮濮嬭搗浣滅敤浜嗭紝鍏跺疄鎴戜竴鐩磋寰楋紝Annotation灝辨槸涓簒ml鎵鐢燂紝鍥犱負瀹冧滑淇╂槸姝誨澶達紝涓嶇鍗曚竴鍦扮敤璋侊紝閮芥湁緙洪櫡錛?br />
鍙湁緇撳悎鎵嶆槸瀹屽杽錛屾鎵璋擄紝娌℃湁鏈濂斤紝鍙湁鏇村ソ錛屽悎鐞嗗氨琛屻?br />
鍦ㄨ繖閲屾垜鍙兘娌℃湁璐村嚭浠涔園Annotation鎶鏈惈閲忕殑涓滆タ錛屼絾鏄垜鎯寵琛ㄨ揪鐨勬槸涓縐嶆濇兂錛屼竴縐嶆鏋剁殑鎬濇兂錛屽茍涓嶆槸浠涔堝湴鏂歸兘鑳界敤鍒癆nnotation錛屼竴鑸殑涓皬鍨嬮」鐩牴鏈病蹇呰鐢ㄥ畠錛屽洜涓簒ml灝辨悶瀹氾紝鎵浠ョ敤鍦ㄩ渶瑕佺敤鐨勫湴鏂癸紝灝嗗畠鐨勮兘閲忓彂鎸ュ埌鏈澶с傘傘?br />
浠ヤ笂浠呬負涓瀹朵箣璦錛屾榪庢媿鐮栥傘傘?br />
]]>
]]>
<script type="text/javascript" src="thickbox.js"></script>
<link rel="stylesheet" href="thickbox.css" type="text/css" />
榪樻湁灝辨槸閫氳繃thickbox鍑芥暟璋冪敤錛氬tb_init()銆乼b_show()錛涜涓嬫枃銆?br />
鍑犵涓嶅悓鐢ㄦ硶錛?br />
1.鐐瑰嚮鏄劇ず鍥劇墖錛?br />
<a href="#TB_inline?height=155&width=300&inlineId=div2&modal=true" class="thickbox">Show hidden modal content.</a>
<div id="div1" style="display:none">
<P>
榪欐槸涓涓潪妯″紡瀵硅瘽妗嗐?br />
</P>
</div>
<div id="div2" style="display:none">
<P>
榪欐槸涓涓ā寮忓璇濇銆?br />
<p style="TEXT-ALIGN: center"><INPUT id="Login" onclick="tb_remove()" type="submit" value=" Ok " /></p>
</P>
</div>
鎬庢牱鍋氬憿涓鏍風殑錛岀粰娣誨姞閾炬帴鍔爐hickbox鏍峰紡錛?br />
緙栬緫鍚屾牱鏄竴鏍鳳細鍏堝皢鍘熶俊鎭彁鍙栧嚭鏉ワ紝鍐嶈鐢ㄦ埛淇敼錛?br />
浠g爜涔熶竴鏍鳳細
<a href="Pic01.jpg"><img src="Pic01s.jpg" border="0"/></a>
<a href="Pic02.jpg"><img src="Pic01s.jpg" border="0"/></a>
</div>
$(function() {
tb_init("#PicList a[img]");});
濡傜偣鍑葷緝鍥撅紝瑕佹樉紺哄ぇ鍥?緙╃暐鍥綰RL鍙笉榪囧湪澶у浘URL鐨勫悗緙鍓嶅姞浜唖:
<img src="Pic01s.jpg" border="0"/>
<img src="Pic01s.jpg" border="0"/>
</div>
$(function() {
$("#PicList img").click(function() {
tb_show("",this.src.substring(0,this.src.length-5)+'.jpg',false);
});});
]]>
棣栧厛鏉ヨ浣跨敤姝ラ錛?/p>
1.鍦∕y97DatePicker涓婚〉涓嬭澆鎺т歡錛?/p>
鐩墠鐨勭増鏈槸:4.2 姝e紡鐗?鍙戝竷浜?008-12-03
http://www.my97.net/dp/down.asp
2.灝嗘枃浠惰В鍘嬪寘(涓涓枃浠墮兘涓嶈鍒犻櫎)鎷瘋礉鍒癱lasspath/webroot涓?/p>
3.鐩存帴浣跨敤<script />寮曞叆錛?/p>
<script type="text/javascript" defer="defer" src="<%=request.getContextPath() %>/My97DatePicker/WdatePicker.js"></script>
4.鍦?lt;input type="text"/>涓皟鐢細
<input type="text" name="time" onfocus="WdatePicker()">
鍏舵鏉ヨ涓涓嬫垜鍦ㄤ嬌鐢ㄤ腑紕板埌鐨勯棶棰橈細
1.IE涓?鏃犳硶鎵撳紑internet绔欑偣 銆傘傘傘傘傚凡緇堟鎿嶄綔
榪欎釜闂鎼炰簡濂藉崐澶╋紝緗戜笂鍒板鏌ワ紝鏈鍚庢墠鍦╟sdn涓婄湅鍒拌В鍐沖姙娉曪細
a.濡傛灉欏甸潰鏈?lt;base/>鏍囩鐨勶細鍒欒鍦ㄧ3姝s寮曞叆鍚庢坊鍔?lt;base target="_self" />;
b.鍦?lt;script/>涓坊鍔犲睘鎬efer="defer"; //灝辨槸榪欏叿灞炴ф晳浜嗘垜
2.鍦ㄦ楠?涓皟鐢ㄤ簡錛岀粨鏋滀笉鍑烘潵錛?/p>
寮濮嬩互涓烘槸stuts1.2 鏍囩鐨勫師鍥狅紝緇撴灉涓嶆槸錛屽悗鏉ュ弽澶嶆祴璇曪紝鎵嶆悶瀹氫簡
鍏跺疄璋冪敤鐨勬椂鍊欐湁寰堝鏂規(guī)硶錛岀劧鑰屾湁鐨勬柟娉曚笉涓瀹氬嚭寰楁潵錛屾墍浠ヨ鍙嶅嫻嬭瘯
榪欐槸My97DatePicker鐨勪富欏碉細http://www.my97.net
閲岄潰鏈夋帶浠朵笅杞斤紝浣跨敤婕旂ず錛岄棶棰樿В鍐崇瓑
鍦ㄤ嬌鐢ㄦ祻瑙堝櫒嫻忚緗戦〉鐨勬椂鍊欙紝褰撻〉闈㈠埛鏂板緢鎱㈢殑鏃跺欙紝浣犵殑嫻忚鍣ㄥ湪騫蹭粈涔堬紵浣犵殑灞忓箷鍐呭鏄粈涔堬紵鏄殑錛屼綘鐨勬祻瑙堝櫒鍦ㄧ瓑寰呭埛鏂幫紝鑰屼綘鐨勫睆騫曞唴瀹規(guī)槸涓鐗囩┖鐧斤紝鑰屼綘鍦ㄥ睆騫曞墠鑻﹁嫤鐨勭瓑寰呮祻瑙堝櫒鐨勫搷搴斻傚紑鍙戜漢鍛樹負浜嗗厠鏈嶈繖縐嶅按灝殑灞闈紝涓嶅緱涓嶅湪姣忎竴涓彲鑳介渶瑕侀暱鏃墮棿絳夊緟鍝嶅簲鐨勯〉闈笂澧炲姞涓涓狣IV錛屽憡璇夌敤鎴?#8220;緋葷粺姝e湪澶勭悊鎮(zhèn)ㄧ殑璇鋒眰錛岃紼嶅?#8230;…”銆?
銆銆鐜板湪錛屾湁涓縐嶈秺鏉ヨ秺嫻佽瓚婄儹鐨?#8220;鑰?#8221;鎶鏈紝鍙互褰誨簳鏀瑰彉榪欑紿樿揩鐨勫眬闈€傞偅灝辨槸AJAX銆傚浠婏紝闅忕潃Gmail銆丟oogle-maps鐨勫簲鐢ㄥ拰鍚勭嫻忚鍣ㄧ殑鏀寔錛孉JAX姝i愭笎鍚稿紩鍏ㄤ笘鐣岀殑鐪肩悆銆?/p>
涓銆丄JAX瀹氫箟
銆銆 AJAX錛圓synchronous JavaScript and XML錛夊叾瀹炴槸澶氱鎶鏈殑緇煎悎錛屽寘鎷琂avascript銆乆HTML鍜孋SS銆丏OM銆乆ML鍜孹STL銆乆MLHttpRequest銆傚叾涓細
銆銆浣跨敤XHTML鍜孋SS鏍囧噯鍖栧憟鐜幫紝浣跨敤DOM瀹炵幇鍔ㄦ佹樉紺哄拰浜や簰錛屼嬌鐢╔ML鍜孹STL榪涜鏁版嵁浜ゆ崲涓庡鐞嗭紝浣跨敤XMLHttpRequest瀵硅薄榪涜寮傛鏁版嵁璇誨彇錛屼嬌鐢↗avascript緇戝畾鍜屽鐞嗘墍鏈夋暟鎹?/p>
銆銆鍦ˋJAX鎻愬嚭涔嬪墠錛屼笟鐣屽浜庝笂榪版妧鏈兘鍙槸鍗曠嫭鐨勪嬌鐢紝娌℃湁緇煎悎浣跨敤錛屼篃鏄敱浜庝箣鍓嶇殑鎶鏈渶姹傛墍鍐沖畾鐨勩傞殢鐫搴旂敤鐨勫箍娉涳紝AJAX涔熸垚涓洪楗介ソ浜嗐?/p>
浜屻佺幇鐘朵笌闇瑕佽В鍐崇殑闂
銆銆浼犵粺鐨刉eb搴旂敤閲囩敤鍚屾浜や簰榪囩▼錛岃繖縐嶆儏鍐典笅錛岀敤鎴烽鍏堝悜HTTP鏈嶅姟鍣ㄨЕ鍙戜竴涓涓烘垨璇鋒眰鐨勫懠姹傘傚弽榪囨潵錛屾湇鍔″櫒鎵ц鏌愪簺浠誨姟錛屽啀鍚戝彂鍑鴻姹傜殑鐢ㄦ埛榪斿洖涓涓狧TML欏甸潰銆傝繖鏄竴縐嶄笉榪炶瘡鐨勭敤鎴蜂綋楠岋紝鏈嶅姟鍣ㄥ湪澶勭悊璇鋒眰鐨勬椂鍊欙紝鐢ㄦ埛澶氭暟鏃墮棿澶勪簬絳夊緟鐨勭姸鎬侊紝灞忓箷鍐呭涔熸槸涓鐗囩┖鐧姐傚涓嬪浘錛?
鑷粠閲囩敤瓚呮枃鏈綔涓篧eb浼犺緭鍜屽憟鐜頒箣鍚庯紝鎴戜滑閮芥槸閲囩敤榪欎箞涓濂椾紶杈撴柟寮忋傚綋璐熻澆姣旇緝?yōu)畯鐨勬椂鍊欙紝榪欏茍涓嶄細浣撶幇鍑烘湁浠涔堜笉濡ャ傚彲鏄綋璐熻澆姣旇緝澶э紝鍝嶅簲鏃墮棿瑕佸緢闀匡紝1鍒嗛挓銆?鍒嗛挓……鏁板垎閽熺殑鏃跺欙紝榪欑絳夊緟灝變笉鍙繊鍙椾簡銆備弗閲嶇殑錛岃秴榪囧搷搴旀椂闂達紝鏈嶅姟鍣ㄥ共鑴嗗憡璇変綘欏甸潰涓嶅彲鐢ㄣ傚彟澶栵紝鏌愪簺鏃跺欙紝鎴戝彧鏄兂鏀瑰彉欏甸潰涓灝忛儴鍒嗙殑鏁版嵁錛岄偅涓轟粈涔堟垜蹇呴』閲嶆柊鍔犺澆鏁翠釜欏甸潰鍛紵錛佸綋杞歡璁捐瓚婃潵瓚婅絀朵漢鎬у寲鐨勬椂鍊欙紝榪欎箞緋熺硶鐨勭敤鎴蜂綋楠岀畝鐩翠笌榪欑鍘熷垯鑳岄亾鑰岄┌銆備負浠涔堣佹槸瑕佽鐢ㄦ埛絳夊緟鏈嶅姟鍣ㄥ彇鏁版嵁鍛紵鑷沖皯錛屾垜浠簲璇ュ噺灝戠敤鎴風瓑寰呯殑鏃墮棿銆傜幇鍦紝闄や簡紼嬪簭璁捐銆佺紪鐮佷紭鍖栧拰鏈嶅姟鍣ㄨ皟浼樹箣澶栵紝榪樺彲浠ラ噰鐢ˋJAX銆?/p>
涓夈佷負浠涔堜嬌鐢ˋJAX
銆銆涓庝紶緇熺殑Web搴旂敤涓嶅悓錛孉JAX閲囩敤寮傛浜や簰榪囩▼銆侫JAX鍦ㄧ敤鎴蜂笌鏈嶅姟鍣ㄤ箣闂村紩鍏ヤ竴涓腑闂村獟浠嬶紝浠庤屾秷闄や簡緗戠粶浜や簰榪囩▼涓殑澶勭悊鈥旂瓑寰呪斿鐞嗏旂瓑寰呯己鐐廣傜敤鎴風殑嫻忚鍣ㄥ湪鎵ц浠誨姟鏃跺嵆瑁呰澆浜咥JAX寮曟搸銆侫JAX寮曟搸鐢↗avaScript璇█緙栧啓錛岄氬父钘忓湪涓涓殣钘忕殑妗嗘灦涓傚畠璐熻矗緙栬瘧鐢ㄦ埛鐣岄潰鍙婁笌鏈嶅姟鍣ㄤ箣闂寸殑浜や簰銆侫JAX寮曟搸鍏佽鐢ㄦ埛涓庡簲鐢ㄨ蔣浠朵箣闂寸殑浜や簰榪囩▼寮傛榪涜錛岀嫭绔嬩簬鐢ㄦ埛涓庣綉緇滄湇鍔″櫒闂寸殑浜ゆ祦銆傜幇鍦紝鍙互鐢↗avascript璋冪敤AJAX寮曟搸鏉ヤ唬鏇夸駭鐢熶竴涓狧TTP鐨勭敤鎴峰姩浣滐紝鍐呭瓨涓殑鏁版嵁緙栬緫銆侀〉闈㈠鑸佹暟鎹牎楠岃繖浜涗笉闇瑕侀噸鏂拌澆鍏ユ暣涓〉闈㈢殑闇姹傚彲浠ヤ氦緇橝JAX鏉ユ墽琛屻?/p>
鍥涖佽皝鍦ㄤ嬌鐢ˋJAX
銆銆鍦ㄥ簲鐢ˋJAX寮鍙戜笂闈紝Google褰撲粊涓嶈鏄〃鐜囥侽rkut銆丟mail銆丟oogle Groups銆丟oogle Maps銆丟oogle Suggest閮藉簲鐢ㄤ簡榪欓」鎶鏈侫mazon鐨凙9.com鎼滅儲寮曟搸涔熼噰鐢ㄤ簡綾諱技鐨勬妧鏈?
銆銆寰蔣涔熷湪縐瀬寮鍙戞洿涓哄畬鍠勭殑AJAX搴旂敤錛氬畠鍗沖皢鎺ㄥ嚭浠e彿涓篈tlas鐨凙JAX宸ュ叿銆侫tlas鐨勫姛鑳借秴瓚婁簡AJAX鏈韓錛屽寘鎷暣鍚圴isual Studio鐨勮皟璇曞姛鑳姐傚彟澶栵紝鏂扮殑ASP.NET鎺т歡灝嗕嬌瀹㈡埛绔帶浠朵笌鏈嶅姟鍣ㄧ浠g爜鐨勬崋緇戞洿涓虹畝渚褲侫tlas瀹㈡埛鑴氭湰妗嗘灦錛圓tlas Clent Script Framework錛変篃浣夸笌緗戦〉鍙婄浉鍏抽」鐩殑浜や簰鏇翠負渚垮埄銆備絾Visual Studio 2005涓茍涓嶅寘鍚欏瑰姛鑳姐?/p>
銆銆寰蔣鏈榪戝甯傾tlas瀹㈡埛鑴氭湰妗嗘灦灝嗗寘鍚涓嬪唴瀹癸紙璇︾粏璧勬枡璇瘋闂瓵tlas璁″垝緗戠珯錛夛細
鍏稿瀷鐨勶紝寰蔣灝咥JAX鎶鏈簲鐢ㄥ湪MSN Space涓婇潰銆傚緢澶氫漢涓鐩撮兘瀵筂S Space鏈嶅姟鎰熷埌寰堝鎬紝褰撴彁浜ゅ洖澶嶈瘎璁轟互鍚庯紝嫻忚鍣ㄤ細鏆傛椂鍋滈】涓涓嬶紝鐒跺悗鍦ㄦ棤鍒鋒柊鐨勬儏鍐典笅鎶婃垜鎻愪氦鐨勮瘎璁烘樉紺哄嚭鏉ャ傝繖涓氨鏄簲鐢ㄤ簡AJAX鐨勬晥鏋溿傝瘯鎯籌紝濡傛灉娣誨姞涓涓瘎璁哄氨瑕侀噸鏂板埛鏂版暣涓〉闈紝閭e彲鐪熻垂浜嬨?
銆銆鐩墠錛孉JAX搴旂敤鏈鏅亶鐨勯鍩熸槸GIS-Map鏂歸潰銆侴IS鐨勫尯鍩熸悳绱㈠己璋冨揩閫熷搷搴旓紝AJAX鐨勭壒鐐規(guī)濂界鍚堣繖縐嶉渶姹傘?/p>
浜斻佺敤AJAX鏀硅繘浣犵殑璁捐
銆銆 AJAX铏界劧鍙互瀹炵幇鏃犲埛鏂版洿鏂伴〉闈㈠唴瀹癸紝浣嗘槸涔熶笉鏄粈涔堝湴鏂歸兘鍙互鐢紝涓昏搴旂敤鍦ㄤ氦浜掕緝澶氥侀綣佽鏁版嵁銆佹暟鎹垎綾昏壇濂界殑Web搴旂敤涓傜幇鍦紝璁╂垜浠婦涓や釜渚嬪瓙錛岀湅鐪嬪浣曠敤AJAX鏀硅繘浣犵殑璁捐銆?a>
渚嬪瓙1錛氭暟鎹牎楠?br />
銆銆鍦ㄨ緭鍏orm琛ㄥ崟鍐呭鐨勬椂鍊欙紝鎴戜滑閫氬父闇瑕佺‘淇濇暟鎹殑鍞竴鎬с傚洜姝わ紝甯稿父鍦ㄩ〉闈笂鎻愪緵“鍞竴鎬ф牎楠?#8221;鎸夐挳錛岃鐢ㄦ埛鐐瑰嚮錛屾墦寮涓涓牎楠屽皬紿楀彛錛涙垨鑰呯瓑form鎻愪氦鍒版湇鍔″櫒绔紝鐢辨湇鍔″櫒鍒ゆ柇鍚庡湪榪斿洖鐩稿簲鐨勬牎楠屼俊鎭傚墠鑰咃紝window.open鎿嶄綔鏈潵灝辨槸姣旇緝鑰楄垂璧勬簮鐨勶紝閫氬父鐢眞indow. showModalDialog浠f浛錛屽嵆浣胯繖鏍蜂篃瑕佸脊鍑轟竴涓璇濇錛涘悗鑰咃紝闇瑕佹妸鏁翠釜欏甸潰鎻愪氦鍒版湇鍔″櫒騫剁敱鏈嶅姟鍣ㄥ垽鏂牎楠岋紝榪欎釜榪囩▼涓嶄粎鏃墮棿闀胯屼笖鍔犻噸浜嗘湇鍔″櫒璐熸媴銆傝屼嬌鐢ˋJAX錛岃繖涓牎楠岃姹傚彲浠ョ敱XMLHttpRequest瀵硅薄鍙戝嚭錛屾暣涓繃紼嬩笉闇瑕佸脊鍑烘柊紿楀彛錛屼篃涓嶉渶瑕佸皢鏁翠釜欏甸潰鎻愪氦鍒版湇鍔″櫒錛屽揩閫熷張涓嶅姞閲嶆湇鍔″櫒璐熸媴銆?a>渚嬪瓙2錛氭寜闇鍙栨暟鎹旂駭鑱旇彍鍗?br />
銆銆浠ュ墠錛屼負浜嗛伩鍏嶆瘡嬈″鑿滃崟鐨勬搷浣滃紩璧風殑閲嶈澆欏甸潰錛屼笉閲囩敤姣忔璋冪敤鍚庡彴鐨勬柟寮忥紝鑰屾槸涓嬈℃у皢綰ц仈鑿滃崟鐨勬墍鏈夋暟鎹叏閮ㄨ鍙栧嚭鏉ュ茍鍐欏叆鏁扮粍錛岀劧鍚庢牴鎹敤鎴風殑鎿嶄綔鐢↗avaScript鏉ユ帶鍒跺畠鐨勫瓙闆嗛」鐩殑鍛堢幇錛岃繖鏍瘋櫧鐒惰В鍐充簡鎿嶄綔鍝嶅簲閫熷害銆佷笉閲嶈澆欏甸潰浠ュ強閬垮厤鍚戞湇鍔″櫒棰戠箒鍙戦佽姹傜殑闂錛屼絾鏄鏋滅敤鎴蜂笉瀵硅彍鍗曡繘琛屾搷浣滄垨鍙鑿滃崟涓殑涓閮ㄥ垎榪涜鎿嶄綔鐨勮瘽錛岄偅璇誨彇鐨勬暟鎹腑鐨勪竴閮ㄥ垎灝變細鎴愪負鍐椾綑鏁版嵁鑰屾氮璐圭敤鎴風殑璧勬簮錛岀壒鍒槸鍦ㄨ彍鍗曠粨鏋勫鏉傘佹暟鎹噺澶х殑鎯呭喌涓嬶紙姣斿鑿滃崟鏈夊緢澶氱駭銆佹瘡涓綰ц彍鍙堟湁涓婄櫨涓」鐩級錛岃繖縐嶅紛绔氨鏇翠負紿佸嚭銆?
銆銆鐜板湪搴旂敤AJAX錛屽湪鍒濆鍖栭〉闈㈡椂鎴戜滑鍙鍑哄畠鐨勭涓綰х殑鎵鏈夋暟鎹茍鏄劇ず錛屽湪鐢ㄦ埛鎿嶄綔涓綰ц彍鍗曞叾涓竴欏規(guī)椂錛屼細閫氳繃Ajax鍚戝悗鍙拌姹傚綋鍓嶄竴綰ч」鐩墍灞炵殑浜岀駭瀛愯彍鍗曠殑鎵鏈夋暟鎹紝濡傛灉鍐嶇戶緇姹傚凡緇忓憟鐜扮殑浜岀駭鑿滃崟涓殑涓欏規(guī)椂錛屽啀鍚戝悗闈㈣姹傛墍鎿嶄綔浜岀駭鑿滃崟欏瑰搴旂殑鎵鏈変笁綰ц彍鍗曠殑鎵鏈夋暟鎹紝浠ユ綾繪帹……榪欐牱錛岀敤浠涔堝氨鍙栦粈涔堛佺敤澶氬皯灝卞彇澶氬皯錛屽氨涓嶄細鏈夋暟鎹殑鍐椾綑鍜屾氮璐癸紝鍑忓皯浜嗘暟鎹笅杞芥婚噺錛岃屼笖鏇存柊欏甸潰鏃朵笉鐢ㄩ噸杞藉叏閮ㄥ唴瀹癸紝鍙洿鏂伴渶瑕佹洿鏂扮殑閭i儴鍒嗗嵆鍙紝鐩稿浜庡悗鍙板鐞嗗茍閲嶈澆鐨勬柟寮忕緝鐭簡鐢ㄦ埛絳夊緟鏃墮棿錛屼篃鎶婂璧勬簮鐨勬氮璐歸檷鍒版渶浣庛?/p>
渚嬪瓙3錛氳鍙栧閮ㄦ暟鎹?br /> 銆銆AJAX鍙互璋冪敤澶栭儴鏁版嵁錛屽洜姝わ紝鍙互瀵逛竴浜涘紑鍙戠殑鏁版嵁姣斿XML鏂囨。銆丷SS鏂囨。榪涜浜屾鍔犲伐錛屽疄鐜版暟鎹暣鍚堟垨鑰呭紑鍙戝簲鐢ㄧ▼搴忋?/p>
AJAX涓嶆槸瀹岀編鐨勬妧鏈備嬌鐢ˋJAX錛屽畠鐨勪竴浜涚己闄蜂笉寰椾笉鏉冭 涓涓嬶細
1.HTML Tag錛?/p>
鐢ㄦ潵鍒涘緩鑳藉鍜孲truts妗嗘灦浠ュ強鍏跺畠鐩稿簲鐨凥TML鏍囩浜や簰鐨凥TML杈撳叆琛ㄥ崟;
濡傦細<html錛歠orm></html錛歠orm>錛?lt;html錛歵ext/>錛?lt;html錛歱assword/>錛?lt;html錛歳adio/>錛?lt;html錛歝heckbox/>錛?lt;htmlmultibox>
2.Bean Tag
璇ユ爣絳懼簱鍖呭惈鐨勬爣絳懼彲浠ョ敤鏉ュ垱寤篵ean銆佽闂産ean鍜岃闂産ean鐨勫睘鎬с?/p>
濡傦細<bean錛歸rite/>錛氱敤浜庡皢bean鐨勫睘鎬ц緭閫佸埌jsp欏甸潰錛?lt;bean錛歞efine/>瀹氫箟涓涓柊鐨刡ean
3.Logic Tag
璇ユ爣絳懼簱鍖呭惈鐨勬爣絳懼彲浠ョ敤鏉ヨ繘琛岄昏緫鍒ゆ柇銆侀泦鍚堣凱浠e拰嫻佺▼鎺у埗銆?/p>
濡傦細<logic錛歩terate/>錛氱敤鏉ュ驚鐜凱浠?<logic錛歟aual/>錛氱敤鏉ヨ繘琛岄昏緫鍒ゆ柇
4.Nested錛氬寮哄鍏朵粬Struts鏍囩鐨勫祵濂椾嬌鐢ㄨ兘鍔?/p>
璇ユ爣絳懼簱寤虹珛鍦ㄥ墠涓変釜鏍囩搴撶殑鍩虹涓婏紝鍏鋒湁鍓嶄笁涓爣絳懼簱鐨勬墍鏈夊姛鑳斤紝鍙槸鍏佽鏍囩闂寸殑宓屽銆?/p>
5.Template Tag
闅忕潃Titles妗嗘灦鍖呯殑鍑虹幇,姝ゆ爣璁板凡寮濮嬪噺灝戜嬌鐢?/p>
涓嬮潰浠嬬粛鍑犱釜鏈甯哥敤鐨勬爣絳撅細
<html錛歝heck box/>涓鑸敤浜庝竴涓夐」鐨勫閫夋
<html錛歮ultibox/>涓鑸敤浜庡涓夐」鐨勫閫夋
<bean錛歸rite name="user" property="username"/>絳夊悓浜嶦L琛ㄨ揪紺猴細${user.username}
<bean錛歞efine id="inter" name="user" property="interest" type="java.lang.String"/>瀹氫箟涓涓猙ean
<bean錛歮essage key=" " arg0=" "/> key 瀹氫箟鍦ㄨ祫婧愭枃浠朵腑錛宎rgs0[1,2]涓哄弬鏁?/p>
<logic錛歩terate name="list" id="user"> 絳夊悓浜嶫STL鐨勶細<c錛歠oeach item=${list} var="user"/>
<logic錛歟qual name="user" property="sex" value="0"/>絳夊悓浜嶫STL鐨勶細<c錛歸hen test=""/>
<logic錛歟mpty />鏍囩鏄敤鏉ュ垽鏂槸鍚︿負絀虹殑銆傚鏋滀負絀猴紝璇ユ爣絳句綋涓祵鍏ョ殑鍐呭灝變細琚鐞?/p>
<logic:empty name="listForm" property = "persons">
<div>闆嗗悎persons涓虹┖!</div>
</logic:empty>
1.涓嬮潰緇欎竴涓〃鍗曠殑瀹屾暣浠g爜錛?/p>
浣跨敤html鏍囩浣滀負琛ㄥ崟杈撳叆錛屽彲浠ユ柟渚跨殑浣跨敤楠岃瘉妗嗘灦鍗籌細<html:errors property="username">
2.涓嬮潰緇欎竴涓樉紺烘暟鎹殑浠g爜錛?/p>
浣滀負鏄劇ず鏁版嵁錛孲truts鏍囩騫朵笉姣擩stl涓嶦L鏂逛究錛屽洜姝わ紝鏈漢鏇翠範鎯敤鍚庤?/span>
鍏跺疄Struts鏍囩鐨勫ソ澶勶紝騫朵笉鏄笂闈㈣繖浜涳紝鑰屾槸瀹冨彲鍒╃敤ActionForm鏉ュ~鍏呮暟鎹?/span>
姣斿鎴戜滑鍦ㄥ仛欏甸潰鏁版嵁淇敼鐨勬椂鍊欙紝浼氳褰撳墠欏甸潰鏁版嵁鏄劇ず鍒版樉紺轟慨鏀歸〉闈紝榪欐牱鍒╀簬瀹㈡埛绔慨鏀?/span>
浠ュ墠鎴戜滑榪欐牱鍋氱殑錛氭牴鎹甶d浠庢暟鎹簱鏌ュ嚭錛岀劧鍚庝嬌鐢╤tml鐨剉alue灞炴у~鍏咃紝鐜板湪鏈変簡Struts鏍囩錛屽氨涓嶉渶瑕侀偅涔堥夯鐑︿簡
鐩存帴鍦ˋction閲屽~鍏匒ctionForm鐨勬暟鎹氨鎼炲畾浜?/span>錛?/p>
public ActionForward upd(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UserForm userForm = (UserForm) form;
int userid = Integer.parseInt(request.getParameter("userid"));
UserInfo user = biz.findUser(userid);
String[]interest = StringUtil.stringChange2(user.getInterest());
//灝嗙敤鎴蜂俊鎭~鍏呭埌ActionForm
userForm.setUser(user);
userForm.setInterest(interest);
return mapping.findForward("upd");
}
<html:form action="/doupd">
鐢ㄦ埛鍚嶏細<html:text property="user.username"></html:text><p/>
瀵嗙爜錛?/span><html:text property="user.pwd"></html:text><p/>
鎬у埆錛?/span><html:radio property="user.sex" value="鐢?/span>">鐢?/span></html:radio>
<html:radio property="user.sex" value="濂?/span>">濂?/span></html:radio><p/>
鍩庡競錛?/span><html:select property="user.city">
<html:option value="">璇烽夋嫨</html:option>
<html:option value="姝︽眽">姝︽眽</html:option>
<html:option value="涓婃搗">涓婃搗</html:option>
<html:option value="鍖椾含">鍖椾含</html:option>
</html:select><p/>
鐖卞ソ錛?/span><html:multibox property="interest" value="鐪嬩功"/>鐪嬩功
<html:multibox property="interest" value="娓告垙"/>娓告垙
<html:multibox property="interest" value="鐫¤"/>鐫¤<p/>
<html:submit value="淇敼"/>
</html:form>
]]>
1.ActionForm
2.ValidatorForm
3.ValidatorActionForm
4.DynaActionForm
5.DynaValidatorForm
6.DynaValidatorActionForm
7.LazyValidatorForm
鐢卞懡鍚嶆潵鐪嬶紝灝辨諱綋浣跨敤瑙勫緥濡備笅錛?/p>
1.甯︽湁Validator鐨勶紝浣嗛兘鍙嬌鐢ㄩ獙璇佹鏋?
2.浠yna寮澶寸殑錛岄兘鏄嚜鍔ㄧ敓鎴愮浉搴旂殑form錛屽彧闇鍦⊿truts-config.xml涓厤緗睘鎬у嵆鍙?/span>
3.涓棿鏄惁鏈堿ction鐨勶紝琛ㄧずvalidation.xml涓殑form鐨刵ame鍚嶏紝鏄窡formbean鐨勫悕縐幫紝榪樻槸/path璺緞
涓嬮潰鎸夎寰嬮愪釜浠嬬粛錛?/p>
1.ActionForm,DynaActionForm姝ょ被涓嶆敮鎸侀獙璇佹鏋訛紝闇鎵嬪姩鍒涘緩form錛屽茍瀹炵幇鑷畾涔夌殑validate()鏂規(guī)硶
浣咲ynaActionForm鏄壒渚?瀹冭嚜鍔ㄧ敓鎴恌orm)錛屾墍浠ユ病鏈塿alidate()鏂規(guī)硶錛屾墍浠ヤ篃灝變笉鑳介獙璇?br /> 2.ValidatorForm錛孷alidatorActionForm錛孌ynaValidatorForm
DynaValidatorActionForm錛孡azyValidatorForm 姝ゅぇ綾婚兘鏄敮鎸侀獙璇佹鏋剁殑,褰撶劧涔熷彲浠ュ畬鎴愯嚜瀹氫箟鐨剉alidate()鏂規(guī)硶,鏉ヨ鐩栭獙璇佹鏋剁殑鏂規(guī)硶錛屽叾涓細
ValidatorForm錛孌ynaValidatorForm錛孡azyValidatorForm 娌℃湁Action錛屾槸閽堝form鏉ラ獙璇佺殑錛屽嵆鍑℃槸鐢ㄥ埌璇orm鐨勯〉闈紝閮藉繀欏婚獙璇侊紱
鍙嶄箣錛孷alidatorActionForm錛孌ynaValidatorActionForm錛屽垯鏄拡瀵笰ction鐨勶紝瑕侀獙璇佸摢涓狝ction錛屽氨璺熼偅涓?path璺緞錛寁alidation.xml浠g爜濡備笅錛?/p>
閽堝涓冪ActionForm錛屾垜浠鐏墊椿榪愮敤錛岄渶瑕侀獙璇佽皝錛屽氨璁╁畠鍋滀笅錛屼笉闇瑕佺殑錛岃瀹冮氳繃銆?/p>
鍙﹀浠嬬粛涓嬮獙璇佹鏋剁殑浣跨敤姝ラ錛?/p>
1.鍦╲alidator-rules.xml涓紩鍏ラ獙璇佹彃浠剁殑浠g爜錛?/p>