锘??xml version="1.0" encoding="utf-8" standalone="yes"?> html:link鏈夊緢澶氬弬鏁伴夐」錛屽鍏抽敭鏈夛細 paramId--鎸囧畾鍙傛暟鐨刱ey鍚嶇О錛屽瑕佽緭鍑?a name--涓篐ashMap灞炴х殑瀵硅薄錛岀敤姝ゅ睘鎬э紝鍙互榪涜澶氬弬鏁拌緭鍑恒備緥錛?/p>
CODE: ----------------------------------------------------------------------------------------- 鍦╯truts鏍囩<html:link>鐨刾age灞炴ф寚瀹氱殑URI鍚庨潰浼犻掑弬鏁板彲浠ユ湁鍑犵鏂瑰紡錛? 1.鑻ユ槑紜弬鏁板悕鍜屽弬鏁板煎垯鐩存帴鍦║RI鍚庤緭鍑猴紝 2.瀵逛簬鍙傛暟鍊間笉紜畾鐨勶紝paramName鍜宲aramProperty鏉ヨ緭鍑猴紝鐢╬aramId灞炴ф寚瀹氬弬鏁板悕銆?br />
瀵逛簬paramName鎸囧畾鐨勫璞″簲璇ュ瓨鍦ㄤ簬page銆乺equest銆乻ession銆乤pplication鍏朵腑涔嬩竴銆備竴鑸潵璇達紝鏄粠Action綾諱紶榪囨潵鐨勶紝浣滀負request鐨勫睘鎬т箣涓錛坮equst.setAttribute("name",object)錛夈?br />
濡傛灉paramName鎸囧畾鐨勫璞℃槸action鐨凙ctionForm錛屽垯鏃犻渶浣跨敤request.setAttribute鏂規硶銆?br />
渚嬶細<html:link page="/test.do" paramId="userid" paramName="uid">uname</html:link> 3.鑻ヤ袱涓弬鏁幫紝涓涓‘瀹氫竴涓笉紜畾錛屽垯鏄互涓婁袱縐嶆柟娉曠殑緇撳悎錛屽嵆錛?br />
<html:link page="/test.do?action=modify" paramId="userid" paramName="uid">modify</html:link> 4.瀵逛簬澶氫釜鍙傛暟鐨勯棶棰橈紝鍙互浣跨敤涓涓狧ashMap闆嗗悎瀵硅薄鏉ュ瓨鏀炬墍鏈夌殑鍙傛暟鍚嶅強瀵瑰簲鐨勫弬鏁板肩殑鏂瑰紡錛宲aramName灞炴у兼寚瀹氫負璇ashMap闆嗗悎瀵硅薄鍗沖彲銆?br />
涓句緥錛?br />
<% 5.閽堝鏈夌殑緗戝弸鍦?lt;html:link>鏍囩涓祵鍏ヤ嬌鐢╦sp鑴氭湰(scriptlet)鐨勯棶棰橈紝 铏界劧鍦╯truts鏍囩涓祵鍏sp鑴氭湰涓嶆槸鐪熸鎰忎箟涓婄殑struts搴旂敤錛屼絾鏄湁鏃跺湪濮旀洸姹傚叏鐨勬儏鍐典笅涔熷彧鑳藉姝や簡錛岄櫎闈炰嬌鐢ㄨ嚜瀹氫箟鏍囩銆傛瘮濡傚湪form琛ㄥ崟涓彲鑳介渶瑕佹牴鎹叿浣撴暟鎹鏌愪釜瀛楁鏄彧璇葷殑錛屽氨鍙互鐢ㄥ祵鍏sp鑴氭湰鏉ュ疄鐜幫細 6.鍙﹀涓縐嶆瘮杈冨彉鎬佺殑鏂規硶錛屾棦涓嶆槸鐪熸鎰忎箟涓婄殑struts錛屼篃涓嶇鍚坸ml瑙勮寖銆傞偅灝辨槸鍦?lt;a>鏍囩涓敤<bean:write>鏍囩杈撳嚭鍙傛暟鍊箋?br />
濡傦細<a href="test.do?uid=<bean:write name="user" property="userid"/>&name=<bean:write name="user" property="username"/>">test</a>
3.http://blog.csdn.net/nokiaguy/archive/2009/01/15/3786503.aspx
4.http://blog.csdn.net/nokiaguy/archive/2009/01/16/3793473.aspx
5.http://blog.csdn.net/nokiaguy/archive/2009/01/16/3797879.aspx
6.http://blog.csdn.net/nokiaguy/archive/2009/01/19/3835476.aspx
7.http://blog.csdn.net/nokiaguy/archive/2009/01/19/3838344.aspx
8.http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/02/03/253022.html 9.http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/nokiaguy/archive/2009/02/07/253722.html 10.http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/nokiaguy/archive/2009/02/archive/2009/02/12/254421.html 11.http://www.tkk7.com/nokiaguy/archive/2009/02/14/254687.html 12.http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/02/14/254688.html 13.http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/02/archive/2009/02/16/254835.html 14.http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/02/archive/2009/02/archive/2009/02/16/254916.html 15.http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/18/255228.html 16.http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/19/255383.html 17.http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/19/255398.html 18.http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/20/255819.html 19.http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/nokiaguy/archive/2009/02/23/256345.html 20.http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/nokiaguy/archive/2009/02/archive/2009/02/24/256426.html 21.http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/nokiaguy/archive/2009/02/archive/2009/nokiaguy/archive/2009/02/24/256497.html 22.http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/nokiaguy/archive/2009/02/archive/2009/nokiaguy/archive/2009/nokiaguy/archive/2009/02/25/256711.html 23.http://www.tkk7.com/nokiaguy/archive/2009/nokiaguy/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/02/archive/2009/nokiaguy/archive/2009/02/archive/2009/nokiaguy/archive/2009/nokiaguy/archive/2009/02/archive/2009/02/27/257067.html 24.http://www.tkk7.com/nokiaguy/archive/2009/02/27/257076.html
]]>
action --鎸囧畾鐐瑰嚮閾炬帴鍚庯紝榪涘叆鐨?.do鍔ㄤ綔action鐨勫間笉闇瑕佽窡鍚庣紑錛宻truts鑷姩琛ヤ笂.do
page -- 璺焌ction涓鏍風殑鍔熻兘錛屼笉榪囪繖涓笉浼氳嚜鍔ㄨˉ.do錛屼篃灝辨槸璇村彲浠ラ摼鎺ュ叾浠栫被鍨嬬殑鍔ㄤ綔錛屽html,jsp,php絳?/p>
paramName -- 鑳借瘑鍒綔鐢ㄥ煙(浠繪剰)鍐呯殑Object鐨勫悕縐般?br />
paramProperty--paramName鐨勮緭鍑哄睘鎬э紝paramId,paramName ,paramProperty鍙互緇勬垚鍗曚竴鍙傛暟浼犻掔殑link錛屽<html:link action="/PRC301E1" paramId="prc_no" paramName="element" paramProperty="fjPrcNo">錛屽綋element.getfjPrcNo()鐨勫間負prc1鏃訛紝鍒欒緭鍑轟負 http://xxoo.com/PRC301E1.do?prc_no=prc1
[Copy to clipboard]
<%
HashMap map=new HashMap();
map.put("check","22");
map.put("name","abc");
pageContext.setAttribute("map",map); //鍥犱負鎵鏈塼ag鐨勫彇鍊煎彧浼氭悳绱綔鐢ㄥ煙(page/request/session/application)錛岃屼笉浼氳瘑鍒綋鍓嶇殑瀹炰緥錛屾墍浠ュ彧鏈夊瓨鍏ャ?br />
%>
<html:link action="/PRC301E1" name="map">
澶氬弬鏁拌緭鍑?br />
</html:link>
濡傦細<html:link page="/test.do?action=add">add</html:link>
鑻ュ弬鏁板兼槸涓涓猙ean瀵硅薄鐨勫睘鎬у鹼紙姣斿ActionForm,鎴栬呴泦鍚堜腑瀛樻斁鐨勫璞★級鍒欙細
<html:link page="/test.do" paramId="userid" paramName="user" paramProperty="uid">uname</html:link>
//浠g爜鐞嗘兂鐨勪綅緗簲璇ユ槸鍦╝ction涓?br />
//鍙互鍦╦sp欏甸潰嫻嬭瘯
java.util.HashMap pms = new java.util.HashMap();
pms.put("code", "001002");
pms.put("name", "tester");
pms.put("alias", new String[]{"matin","jack"});
request.setAttribute("params", pms);
%>
<html:link action="/test.do" name="params" >test</html:link>
緙栬瘧鍚庣殑緇撴灉錛?lt;a href="/test.do?code=001002&name=tester&alias=matin&alias=jack">test</a>
榪欑鏂瑰紡铏界劧鍙互瑙e喅浼犲鍙傛暟鐨勯棶棰橈紝浣嗘槸瀹炵幇璧鋒潵涔熸瘮杈冮夯鐑︼紝鐗瑰埆鏄璁板綍闆嗕腑鐨勬暟鎹愭潯鍒楀嚭鐨勬椂鍊?/p>
渚嬪:
<html:link page="/test.do?code=<%=varible%>">add</html:link>錛岃繖縐嶅啓娉曟槸閿欒鐨勶紝鏄棤娉曠紪璇戠殑銆?br />
鏈夌殑緗戝弸璁や負鍦╯truts鏍囩鍐呮槸涓嶅厑璁鎬嬌鐢╦sp鑴氭湰鐨勶紝榪欑璇存硶涔熶笉鍑嗙‘銆傚鏋滃墠闈㈢殑鍐欐硶鏀規垚:
<html:link page="<%="/test.do?code="+varible%>">add</html:link>錛屽氨鍙互琚墽琛岋紝浣嗘槸瑕佹敞鎰廢RL鐩稿璺緞鐨勯棶棰樸?/p>
<%
boolean rdonly=false;
if(2==2) rdonly=true;
%>
<html:text property="userid" readonly="<%=rdonly%>" />
]]>
(1) 鍏佽鍦║RL 涓互澶氱鏂瑰紡鍖呭惈璇鋒眰鍙傛暟銆?br />
(2) 褰撶敤鎴鋒祻瑙堝櫒鍏抽棴Cookie 鏃訛紝浼氳嚜鍔ㄩ噸鍐橴RL錛屾妸SessionID 浣滀負璇鋒眰鍙傛暟鍖呭惈鍦║RL 涓紝鐢ㄤ簬璺熻釜鐢ㄦ埛鐨凷ession 鐘舵併?/span>
<html:link> 鏍囩鏈変互涓嬮噸瑕佸睘鎬э細
(1) forward錛氭寚瀹氬叏灞杞彂閾炬帴銆?br />
(2) href錛氭寚瀹氬畬鏁寸殑URL 閿帴銆?br />
(3) page錛氭寚瀹氱浉瀵逛簬褰撳墠緗戦〉鐨刄RL銆?/span>
<html:rewrite> 鐢ㄤ簬杈撳嚭瓚呴摼鎺ヤ腑鐨刄RI閮ㄥ垎錛屼絾瀹冨茍涓嶇敓鎴怘TML <a> 鍏冪礌銆俇RI鎸囩殑鏄疷RL 涓崗璁佷富鏈哄拰绔彛浠ュ悗鐨勫唴瀹廣俇RI 鐢ㄤ簬鎸囧畾鍏蜂綋鐨勮姹傝祫婧愩備緥濡傦紝瀵逛簬URL錛欻TTP錛?/localhost:8080/HtmlBasic.do錛屽畠鐨刄RI涓?HtmlBasic.do
紺轟緥錛?br />
1銆佸垱寤哄叏灞杞彂閾炬帴
棣栧厛錛屽湪Struts-config.xml 涓?lt;global-forwards> 鍏冪礌涓畾涔変竴涓?lt;forward> 鍏冪礌錛?br />
<global-forwards>
<forward name = "index" path="/index.jsp"/>
</global-forwards>
鎺ョ潃錛屽湪JSP 鏂囦歡涓垱寤?lt;html:link> 鏍囩錛?br />
<html:link forward="index">
Link to Global ActionForward
</html:link>
<html:link> 鏍囩鐨刦orward 灞炴у拰<global-forwards> 鍏冪礌涓殑<forward> 瀛愬厓绱犲尮閰嶃備互涓婁唬鐮佺敓鎴愬涓婬TML 鍐呭錛?br />
<a href="/index.jsp">Link to Global ActionFoward</a>
鍊煎緱娉ㄦ剰鐨勬槸錛?lt;html:link> 鐨刦orward 灞炴у彧寮曠敤Struts-config.xml 閰嶇疆鏂囦歡涓?lt;global-forwards>鍐呯殑<forward> 瀛愬厓绱狅紝濡傛灉寮曠敤<action> 鍐呯殑<forward> 瀛愬厓绱狅紝鍦ㄨ繍琛屾椂灝嗕細鎶涘嚭寮傚父錛?br />
Cannot create rewrite URL: Java.Net.MalfomedURlException: Cannot retrieve ActionForward
2銆佸垱寤哄叿鏈夊畬鏁碪RL 鐨勯摼鎺?br />
濡傛灉Web 搴旂敤闇瑕侀摼鎺ュ埌鍏朵粬绔欑偣錛屽簲璇ョ粰鍑哄叾浠栫珯鐐瑰畬鏁達嫉錛詫棘錛屼緥濡傦細
<html:link >
Generate an "href" directly
</html:link>
鐢熸垚HTML 浠g爜濡備笅錛?br />
<a >Generate an "href" directly</a>
鍊煎緱娉ㄦ剰鐨勬槸錛屽鏋滄寚瀹氫簡<html:link> 鏍囩鐨刪ref 灞炴э紝鍗充嬌鐢ㄦ埛嫻忚鍣ㄧ殑Cookie 鍏抽棴錛?lt;html:link> 鏍囩涔熶笉浼氭妸鐢ㄦ埛SessionID 浣滀負璇鋒眰鍙傛暟鍔犲拰鍒癠RL 涓?/span>
3銆佷粠褰撳墠緗戦〉涓垱寤虹浉瀵筓RL
濡傛灉浠庝竴涓綉欏甸摼鎺ュ埌鍚屼竴涓簲鐢ㄤ腑鐨勫彟涓緗戦〉錛屽彲浠ラ噰鐢ㄤ互涓嬫柟寮忥細
<html:link page="/HtmlBasic.do">
A relative link from this page
</html:link>
<html:link> 鏍囩鐨?page 灞炴х敤浜庢寚瀹氱浉瀵逛簬褰撳墠搴旂敤鐨刄RI銆備互涓婁唬鐮佺敓鎴愬涓婬TML 鍐呭錛?br />
<a href="/lib/HtmlBasic.do">......</a>
4銆佸湪URL 鎴?URI 涓寘鍚姹傚弬鏁?br />
濡傛灉瑕佸湪URL鎴朥RI 涓寘鍚姹傚弬鏁幫紝鍙鎶婅姹傚弬鏁板姞鍦║RL 鎴?URI鐨勬湯灝懼氨鍙互浜嗐備緥濡傦細
<html:link page="/HtmlBasic.do?prop1=abc&prop2=123">
Hard-code the url parameters
</html:link>
<!-- or -->
<html:rewrite page="/HtmlBasic.do?prop1=abc&prop2=123"/>
浠ヤ笂浠g爜鐢熸垚濡備笅HTML 鍐呭錛?br />
<a href=/lib/HtmlBasic.do?prop1=abc&prop2=123">......</a>
rewrite: /HtmlBasic.do?prop1=abc&prop2=123
鎻愮ず錛氬湪HTML 涓?amp;amp 浠h〃鐗規畩瀛楃 "&"
5銆佸湪URL 鎴?URI 涓寘鍚崟涓姹傚彉閲?br />
濡傛灉瑕佸湪URL 涓寘鍚竴涓姹傚弬鏁幫紝鑰岃繖浜哄弬鏁扮殑鍊煎瓨鍦ㄤ簬褰撳墠緗戦〉鍙闂殑涓涓彉閲忎腑錛屽彲浠ユ寜浠ヤ笅鏂規硶鏉ュ疄鐜般?br />
涓轟簡婕旂ず榪欎竴鍔熻兘錛岄鍏堝垱寤轟竴涓綋鍓嶇綉欏靛彲璁塊棶鐨勫彉閲忋備緥濡傦紝鏈緥涓垱寤轟簡涓や釜鍙橀噺錛屼竴涓槸瀛楃綾誨瀷錛屼竴涓槸CustomerBean 錛?瀹冧滑瀛樺瓨浜庝竴涓?page 鑼冨洿鍐咃細
<%
/*
* Create a string object to store as a bean in
* the page content and embed in this link
*/
String stringBean = "Value to Pass ont URL";
pageContext.setAttribute("stringBean", stringBean);
%>
<jsp:useBean id = "customerBean" scope="page" class="htmltaglibs.beans.CurstomerBean"/>
<jsp:setProperty name="customerBean" property="name" value="weiqin"/>
鎺ョ潃錛屾妸榪欎袱涓彉閲忎綔涓鴻姹傚弬鏁幫紝鍔犲叆鍒癠RL鎴朥RI 涓細
<html:link page="/HtmlBasic.do"
paramId="urlParamName"
paramName="stringBean">
URL encode a parameter based on a string bean value
</html:link>
<html:link page="/HtmlBasic.do"
paramId="urlParamName"
paramName="customerBean"
paramProperty="name">
URL encode a parameter based on a customer bean value
</html:link>
rewrite: <html:rewrite page="/HtmlBasic.do"
paramId="urlParamName" paramName="stringBean"/>
rewrite: <html:rewrite page="/HtmlBasic.do"
paramId="urlParamName" paramName="customerBean"
paramProperty="name"/>
<html:link> 鏍囩鐨?paramId 灞炴ф寚瀹氳姹傚弬鏁板悕錛宲aramName 灞炴ф寚瀹氬彉閲忕殑鍚嶅瓧銆傚鏋滃彉閲忎負JavaBean 錛岀敤paramProperty 灞炴ф寚瀹欽avaBean 鐨勫睘鎬с?br />
瀵逛簬鏈緥鐨剆tringBean錛岃姹傚弬鏁板間負stringBean 鐨勫瓧絎︿覆鍊箋傚浜巆ustomerBean錛屾寚瀹氫簡paramProperty 灞炴э紝璇鋒眰鍙傛暟鍊間負customerBean 鐨?name 灞炴у箋?br />
浠ヤ笂浠g爜鐢熸垚濡備笅HTML 鍐呭錛?br />
<a href="/HtmlBasic.do?urlParamName=Value to Pass on Url">
Url encode a paramter based on a string bean value
</a>
<a href="/HtmlBasic.do?urlParamName=weiqin">
url encode a parameter based on a customer bean value
</a>
rewrite: /HtmlBasic.do?urlParamName=Value to Pass on Url
rewrite: /HtmlBasic.do?urlParamName=weiqin
6銆佸湪URL 鎴?URI 涓寘鍚涓姹傚彉閲?br />
濡傛灉鍦║RL 鎴?URI 涓寘鍚涓姹傚弬鏁幫紝鑰岃繖浜涘弬鏁扮殑鍊兼潵鑷涓彉閲忥紝闇瑕佸厛瀹氫箟涓涓狹ap綾誨瀷鐨刯ava 綾伙紝濡俲ava.util.HashMap錛岀敤瀹冩潵瀛樻斁璇鋒眰鍙橀噺銆備緥濡傦細
<%
/*
* Strore values int a Map(HashMap in this case)
* and construct the URL based on the Map
* /
java.util.HashMap myMap = new java.util.HashMap();
myMap.put("myString", new String("myStringValue"));
myMap.put("myArray" , new String[]{"str1","str2","str3"} );
pageContext.setAttribute("map", myMap);
%>
鍦ㄤ互涓婁唬鐮佺殑HaspMap 涓瓨鏀句簡涓や釜瀵硅薄錛屽叾涓浜屼釜瀵硅薄鏄釜瀛楃涓叉暟緇勩侶ashMap 琚瓨鏀懼湪PageContext 涓?鎺ヤ笅鏉ュ氨鍙互鎶婅繖涓狧ashMap 浣滀負璇鋒眰鍙傛暟錛屽姞鍏ュ埌URL 鎴?URI 涓細
<%-- For this version of the <html:link> tag: --%>
<%-- map = a map with name/value pairs to pass on the url --%>
<html:link page="/HtmlBasic.do" name="map">
URL encode a parameter based on value in a Map
</html:link>
<%-- Create the same rewrite string for the above link. --%>
rewrite:<html:rewrite page="/HtmlBasic.do" name="map"/>
<html:link> 鏍囩鐨刵ame 灞炴ф寚瀹氬寘鍚姹傚彉閲忕殑HashMap 瀵硅薄銆侶ashMap 瀵硅薄涓殑姣忎竴瀵?key/value" 浠h〃涓瀵規垨澶氬"璇鋒眰鍙傛暟鍚?璇鋒眰鍙傛暟鍊?銆備互涓婁唬鐮佺敓鎴愬涓嬬殑Html 鍐呭錛?br />
<a href="/HtmlBasic.do?myString=myStringValue&myArray=str1&myArray=str2&myArray=str3">
URL encode a parameter based on value in a Map
</a>
rewrite:/HtmlBasic.do?myString=myStringValue&myArray=str1&myArray=str2&myArray=str3
鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛歨ttp://blog.csdn.net/dongfengpaopao666/archive/2008/01/05/2027055.aspx
<struts-config>
<data-sources>
<data-source key="DataSource" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<set-property property="url" value="jdbc:oracle:thin:@localhost:1521:orcl"/>
<set-property property="username" value="scott"/>
<set-property property="password" value="tiger"/>
</data-source>
</data-sources>
1錛夊綋Java瀵硅薄涓簄ull鏃訛紱
2錛夊綋String瀵硅薄涓?"鏃訛紱
3錛夊綋java.util.Collection瀵硅薄涓殑isEmpty()榪斿洖true鏃訛紱
4錛夊綋java.util.Map瀵硅薄涓殑isEmpty()榪斿洖true鏃躲?br />
eg.
<logic:empty name="userList">
...
</logic:empty>
璇ュ彞絳夊悓浜庯細
if (userList.isEmpty())
2. logic:notEmpty
璇ユ爣絳劇殑搴旂敤姝eソ鍜宭ogic:empty鏍囩鐩稿弽錛岀暐銆?br />
3. logic:equal
璇ユ爣絳句負絳変簬姣旇緝絎︺?br />
eg1. 姣旇緝鐢ㄦ埛鐨勭姸鎬佸睘鎬ф槸鍚?錛岃嫢涓?錛岃緭鍑?鍚敤";
<logic:equal name="user" property="state" value="1">
鍚敤
</logic:equal>
eg2. 濡傛灉涓婁緥涓殑value鍊兼槸鍔ㄦ佽幏寰楃殑錛屼緥濡傞渶瑕侀氳繃bean:write杈撳嚭錛屽洜struts涓嶆敮鎸佹爣絳懼祵濂楋紝鍙噰鐢‥L鏉ヨВ鍐寵闂銆?br />
<logic:equal name="charge" property="num" value="$">
......
</logic:equal>
4. logic:notEqual
璇ユ爣絳炬剰涔変笌logic:equal鐩稿弽錛屼嬌鐢ㄦ柟娉曠被浼鹼紝鐣ャ?br />
5. logic:forward
璇ユ爣絳劇敤浜庡疄鐜伴〉闈㈠鍚戯紝鏌ユ壘閰嶇疆鏂囦歡鐨勫叏灞forward銆?br />
eg. <logic:forward name="index"/>
6. logic:greaterEqual
涓哄ぇ浜庣瓑浜庢瘮杈冪銆?br />
eg. 褰撴煇瀛︾敓鐨勬垚緇╁ぇ浜庣瓑浜?0鏃訛紝杈撳嚭“浼樼”錛?br />
<logic:greaterEqual name="student" property="score" value="90">
浼樼
</logic:greaterEqual>
7. logic:greaterThan
姝や負澶т簬姣旇緝絎︼紝浣跨敤鏂規硶鍚宭ogic:greaterEqual錛岀暐;
8. logic:lessEqual
姝や負灝忎簬絳変簬姣旇緝絎︼紝浣跨敤鏂規硶鍚宭ogic:greaterEqual,鐣?
9. logic:lessThan
姝や負灝忎簬姣旇緝絎︼紝浣跨敤鏂規硶鍚宭ogic:greaterEqual,鐣?
10. logic:match
姝ゆ爣絳炬瘮杈冨璞℃槸鍚︾浉絳夛紱
eg1. 媯鏌ュ湪request鑼冨洿鍐呯殑name灞炴ф槸鍚﹀寘鍚?amigo"涓詫細
<logic:match name="name" scope="request" value="amigo">
<bean:write name="name"/>涓湁涓涓?#8220;amigo”涓層?br />
</logic:match>
eg2. 媯鏌ュ湪request鑼冨洿鍐呯殑name灞炴ф槸鍚﹀凡“amigo”浣滀負璧峰瀛楃涓詫細
<logic:match name="name" scope="request" value="amigo" location="start">
<bean:write name="name"/>浠?#8220;amigo”浣滀負璧峰瀛楃涓層?br />
</logic:match>
eg3.
<logic:match header="user-agent" value="Windows">
浣犺繍琛岀殑鏄疻indows緋葷粺
</logic:match>
11. logic:notMatch
姝ゆ爣絳劇敤浜庢瘮杈冨璞℃槸鍚︿笉鐩稿悓錛屼笌logic:match鎰忎箟鐩稿弽錛屼嬌鐢ㄦ柟娉曠被浼鹼紝鐣ャ?br />
12. logic:messagePresent
璇ユ爣絳劇敤浜庡垽鏂瑼ctionMessages/ActionErrors瀵硅薄鏄惁瀛樺湪錛?br />
eg. 濡傛灉瀛樺湪error淇℃伅錛屽皢鍏跺叏閮ㄨ緭鍑猴細
<logic:messagePresent property="error">
<html:messages property="error" id="errMsg" >
<bean:write name="errMsg"/>
</html:messages>
</logic:messagePresent >
13. logic:messagesNotPresent
璇ユ爣絳劇敤浜庡垽鏂瑼ctionMessages/ActionErrors瀵硅薄鏄惁涓嶅瓨鍦?浣跨敤鏂規硶涓巐ogic:messagePresent綾諱技錛岀暐
14. logic:present
姝ゆ爣絳劇敤浜庡垽鏂璻equest瀵硅薄浼犻掑弬鏁版槸鍚﹀瓨鍦ㄣ?br />
eg1. user瀵硅薄鍜屽畠鐨刵ame灞炴у湪request涓兘瀛樺湪鏃訛紝杈撳嚭鐩稿簲瀛楃涓詫細
<logic:present name="user" property="name">
user瀵硅薄鍜岃瀵硅薄鐨刵ame灞炴ч兘瀛樺湪
</logic:present>
eg2. 鑻ユ湁涓涓悕瀛椾負“user”鐨凧avaBean錛岃緭鍑哄搴斿瓧絎︿覆錛?br />
<logic:present name="user" >
鏈変竴涓悕瀛椾負“user”鐨凧avaBean銆?br />
</logic:present>
eg3.
<logic:present header="user-agent">
we got a user-agent header.
</logic:present>
15. logic:notPresent
姝ゆ爣絳劇敤浜庡垽鏂璻equest瀵硅薄浼犻掑弬鏁版槸鍚︿笉瀛樺湪錛屾剰涔変笌浜唋ogic:present鐩稿弽錛屼嬌鐢ㄦ柟娉曠被浼鹼紝鐣ャ?br />
16. logic:redirect
璇ユ爣絳劇敤浜庡疄鐜伴〉闈㈣漿鍚戯紝鍙紶閫掑弬鏁般?br />
eg1. <logic:redirect href="http://www.chinaitlab.com"/>
17. logic:iterator
鐢ㄤ簬鏄劇ず鍒楄〃涓篶ollection鐨勫鹼紙List ,ArrayList,HashMap絳夛級銆?br />
eg1. 閫愪竴杈撳嚭鐢ㄦ埛鍒楄〃(userlList)涓敤鎴風殑濮撳悕錛?br />
<logic:iterate id="user" name="userList">
<bean:write name="user" property="name"/><br>
</logic:iterate>
eg2. 浠庣敤鎴峰垪琛ㄤ腑杈撳嚭浠?寮濮嬬殑涓や釜鐢ㄦ埛鐨勫鍚?br />
<logic:iterate id="user" name="userList" indexId="index" offset="1" length="2">
<bean:write name="index"/>.<bean:write name="user" property="name"/><br>
</logic:iterate>
eg3. logic:iterator鏍囩鐨勫祵濂椾婦渚?br />
<logic:iterate id="user" indexId="index" name="userList">
<bean:write name="index"/>. <bean:write name="user" property="name"/><br>
<logic:iterate id="address" name="user" property="addressList" length="3" offset="1">
<bean:write name="address"/><br>
</logic:iterate>
</logic:iterate>
銆銆鍏堟潵鐪嬩竴涓畝鍗曚緥瀛?/span>
1銆佽祫婧愭枃浠墮敊璇俊鎭潵婧?鍏舵牸寮忎負 key = value )
error.test = this is a test error.
2銆丣SP欏甸潰涓敤浜庢樉紺洪敊璇俊鎭爣絳?br />
<html:errors property="testerror"/>
3銆丄ctionFormBean鐨剉alidate()鏂規硶涓駭鐢熼敊璇俊鎭?/span>
ActionErrors error = new ActionErrors();
error.add("testerror",new ActionMessage("error.test"))
return error;
銆銆榪欎釜渚嬪瓙鐨勫姛鑳藉氨鏄湪ActionForm Bean鐨剉alidate()鏂規硶涓駭鐢熶竴鏉″悕涓猴細testerror鐨勯敊璇俊鎭紝閿欒淇℃伅鎭槸璧勬簮鏂囦歡涓璳ey涓?font color="#3366ff">error.test鐨勫箋傜劧鍚庡湪欏甸潰涓婄敤html:errors鏍囩杈撳嚭testerror榪欐潯閿欒淇℃伅銆?/span>
銆銆榪欐槸鏈甯哥敤鐨勪竴縐嶅姛鑳斤紝鎵鏈夌殑閿欒淇℃伅閮藉湪璧勬簮鏂囦歡閲岄潰銆?/span>
銆銆鏈変漢浼氶棶錛岄敊璇俊鎭彧鑳藉瓨鏀懼湪璧勬簮鏂囦歡涓悧錛屽叾瀹炰笉鏄繖鏍楓?font color="#0000ff" size="3">涓嶉渶瑕佽祫婧愭枃浠朵篃鍙互浜х敓閿欒淇℃伅銆?/span>
銆銆鎴戜滑鍐嶆潵鐪嬩竴涓婣ctionMessage鐨勫彟涓縐嶆瀯閫犳柟娉?
銆銆ActionMessage(String key,boolean isresource)
銆銆濡傛灉isresource鍊間負true,鍒欒〃紺簁ey鏄祫婧愭枃浠朵腑鐨刱ey錛屼駭鐢熺殑娑堟伅灝辨槸涓巏ey鐩稿搴旂殑娑堟伅
銆銆濡傛灉isresource鍊間負false,鍒欒〃紺簁ey涓轟竴鏉℃櫘閫氱殑娑堟伅銆?/font>
銆銆濡傛灉涓婇潰鐨別rror.add鏀逛負error.add("testerror",new ActonMessage("榪欐槸涓鏉¤嚜瀹氫箟娑堟伅",false",));閭d箞欏甸潰涓婃樉紺虹殑灝嗘槸錛氳繖鏄竴鏉¤嚜瀹氫箟娑堟伅.
銆銆鍙﹀榪樺彲浠ョ敤ActionMessage浜х敓澶嶅悎娑堟伅錛屾瘮濡傛垜浠杈撳嚭錛歺xx涓嶈兘鐢ㄤ綔鐢ㄦ埛鍚嶏紝鍏朵腑xxx鏄竴涓彉閲忋?/span>
銆銆棣栧厛鎴戜滑鍦ㄨ祫婧愭枃浠朵腑鍔犱竴涓潯澶嶅悎娑堟伅
銆銆testmsg = {0}涓嶈兘鐢ㄤ綔鐢ㄦ埛鍚嶃傝繖閲?font color="#ff0000" size="4">{0}鏄琚浛鎹㈢殑鍙傛暟銆?/span>
銆銆鎴戜滑鍐嶆潵鐪嬩竴涓婣ctionMessage鐨勫彟涓涓瀯閫犳柟娉?br /> 銆銆ActionMessage(String key,Object value0);
銆銆涔熷氨鏄鐢?font color="#ff0000">value0鐨勫兼潵鏇挎崲{0}
銆銆鎴戜滑淇敼error.add涓篹rror.add("testerror",new ActonMessage("testmsg","瀛欎腑灞?))
銆銆閭d箞JSP欏甸潰涓婂皢鏄劇ず錛氭瘺娉戒笢涓嶈兘鐢ㄤ綔鐢ㄦ埛鍚嶃?/span>
銆銆褰撶劧鍦ㄤ竴鏉″鍚堟秷鎭腑涔熷彲甯﹀涓弬鏁幫紝鍙傛暟渚濇涓?/span>{0},{1},{2}鎴栨洿澶?br />
銆銆渚嬪錛?/span>loginUser = 鐢ㄦ埛鍚?{0} 濮撳悕:{1} 鐧誨綍嬈℃暟:{2}.....
銆銆閭d箞鍦ㄤ駭鐢熼敊璇秷鎭椂灝辯敤new ActionMessage(String key,Object value0,Object value1,Object value2.....)鎴栬呬嬌鐢ㄥ璞℃暟緇刵ew ActionMessage(String key,Object[] values)
銆銆
銆銆String[] detail = {"Admin","鐜嬫櫠","12"};
銆銆error.add("testerror",new ActionMessage("loginUser",detail))