ÊÖ»úÕ¾
ÍøÍ¨·ÖÕ¾
µçÐÅÖ÷Õ¾
ÃÜ¡¡Âë:
Óû§Ãû£º
µ±Ç°Î»Öà : Ö÷Ò³>³ÌÐòÉè¼Æ>Java¼¼Êõ>Áбí

ÉîÈëStruts 1.1

À´Ô´£º»¥ÁªÍø ×÷Õߣºwest263.com ʱ¼ä£º2008-02-23
Î÷²¿ÊýÂë-È«¹úÐéÄâÖ÷»ú10Ç¿£¡40ÓàÏîÐéÄâÖ÷»ú¹ÜÀí¹¦ÄÜ,È«¹úÁìÏÈ!Ë«Ïß¶àÏßÐéÄâÖ÷»úÄϱ±·ÃÎʳ©Í¨ÎÞ×è!Ãâ·ÑÔùËÍÆóÒµÓʾÖ,.CNÓòÃû,×ÔÖú½¨Õ¾480ÔªÆð,Ãâ·ÑÊÔÓÃ7Ìì,ÂúÒâÔÙ¸¶¿î! P4Ö÷»ú×âÓÃ799Ôª/ÔÂ.Ô¸¶Ãâѹ½ð!

RequestProcessor°üº¬ÁËStruts¿ØÖÆÆ÷µÄËùÓд¦ÀíÂß¼­£¬Ëüµ÷Óò»Í¬µÄprocessXXX·½·¨À´Íê³É²»Í¬µÄ´¦Àí¡£Ï±íÁгöÆäÖм¸¸öÖ÷ÒªµÄ·½·¨£º

·½·¨ ¹¦ÄÜ processPath »ñÈ¡¿Í»§¶ËµÄÇëÇó·¾¶ processMapping ÀûÓ÷¾¶À´»ñµÃÏàÓ¦µÄActionMapping processActionForm ³õʼ»¯ActionForm£¨Èç¹ûÐèÒª£©²¢´æÈëÕýÈ·µÄscopeÖÐ processActionCreate ³õʼ»¯Action processActionPerform µ÷ÓÃActionµÄexecute·½·¨ processForwardConfig ´¦ÀíAction·µ»ØµÄActionForward

5¡¢ActionForm

¶ÔÓÚActionFormÄã¿ÉÒÔ´ÓÒÔϼ¸¸ö·½ÃæÀ´Àí½âËü£º

  1. ActionForm±íʾHTTP´°ÌåÖеÄÊý¾Ý£¬¿ÉÒÔ½«Æä¿´×÷ÊÇÄ£ÐͺÍÊÓͼµÄÖн飬Ëü¸ºÔð±£´æÊÓͼÖеÄÊý¾Ý¹©Ä£ÐÍ»òÕßÊÓͼʹÓá£Struts 1.1ÎĵµÖаÑËü±È×÷HTTPºÍActionÖ®¼äµÄ·À»ðǽ£¬ÕâÌåÏÖÁËActionForm¾ßÓеĹýÂ˱£»¤µÄ×÷Óã¬Ö»ÓÐͨ¹ýActionFormÑéÖ¤µÄÊý¾Ý²ÅÄܹ»·¢Ë͵½Action´¦Àí¡£
  2. ActionFormÊÇÓëÒ»¸ö»ò¶à¸öActionConfig¹ØÁªµÄJavaBean£¬ÔÚÏàÓ¦µÄactionµÄexecute·½·¨±»µ÷ÓÃ֮ǰ£¬ActionForm»á×Ô¶¯ÀûÓÃÇëÇó²ÎÊýÀ´Ìî³ä×Ô¼º£¨³õʼ»¯ÊôÐÔ£©¡£
  3. ActionFormÊÇÒ»¸ö³éÏóÀ࣬Äã±ØÐëͨ¹ý¼Ì³ÐÀ´ÊµÏÖ×Ô¼ºµÄÀà¡£

ActionFormÊ×ÏÈÀûÓÃÊôÐÔµÄgetterºÍsetter·½·¨À´ÊµÏÖ³õʼ»¯£¬³õʼ»¯Íê±Ïºó£¬ActionFormµÄvalidate·½·¨±»µ÷Óã¬Äã¿ÉÒÔÔÚÆäÖÐÀ´¼ì²éÇëÇó²ÎÊýµÄÕýÈ·ÐÔºÍÓÐЧÐÔ£¬²¢ÇÒ¿ÉÒÔ½«´íÎóÐÅÏ¢ÒÔActionErrorsµÄÐÎʽ·µ»Øµ½ÊäÈë´°Ìå¡£·ñÔò£¬ActionForm½«±»×÷Ϊ²ÎÊý´«¸øactionµÄexecute·½·¨ÒÔ¹©Ê¹Óá£

ActionForm beanµÄÉúÃüÖÜÆÚ¿ÉÒÔÉèÖÃΪsession£¨È±Ê¡£©ºÍrequest£¬µ±ÉèÖÃΪsessionʱ£¬¼ÇµÃÔÚreset·½·¨Öн«ËùÓеÄÊôÐÔÖØÐÂÉèÖÃΪ³õʼֵ¡£

ÓÉÓÚActionForm¶ÔÓ¦ÓÚHTTP´°Ì壬ËùÒÔËæ×ÅÒ³ÃæµÄÔö¶à£¬ÄãµÄActionForm½«»á¼±ËÙÔö¼Ó¡£¶øÇÒ¿ÉÄÜͬһÀàÐÍÒ³Ãæ×ֶν«»áÔÚ²»Í¬µÄActionFormÖгöÏÖ£¬²¢ÇÒÔÚÿ¸öActionFormÖж¼´æÔÚÏàͬµÄÑéÖ¤´úÂ롣ΪÁ˽â¾öÕâ¸öÎÊÌ⣬Äã¿ÉÒÔΪÕû¸öÓ¦ÓÃʵÏÖÒ»¸öActionForm»òÕßÖÁÉÙÒ»¸öÄ£¿é¶ÔÓ¦ÓÚÒ»¸öActionForm¡£

µ«ÊÇ£¬¾ÛºÏµÄ´ú¼Û¾ÍÊǸ´ÓÃÐԺܲ¶øÇÒÄÑά»¤¡£Õë¶ÔÕâ¸öÎÊÌ⣬ÔÚStruts 1.1ÖÐÌá³öÁËDynaActionFormµÄ¸ÅÄî¡£

DynaActionFormÀà

DynaActionFormµÄÄ¿µÄ¾ÍÊǼõÉÙActionFormµÄÊýÄ¿£¬ÀûÓÃËüÄã²»±Ø´´½¨Ò»¸ö¸ö¾ßÌåµÄActionFormÀ࣬¶øÊÇÔÚÅäÖÃÎļþÖÐÅäÖóöËùÐèµÄÐéÄâActionForm¡£ÀýÈ磬ÔÚϱíÖÐͨ¹ýÖ¸¶¨<form-bean>µÄtypeΪ"org.apache.struts.action.DynaActionForm"À´´´½¨Ò»¸ö¶¯Ì¬µÄActionForm--loginForm¡£



<form-beans>

	<form-bean name="loginForm" type="org.apache.struts.action.DynaActionForm">  

		<form-property name="actionClass" type="java.lang.String"/>

		<form-property name="username" type="java.lang.String"/>

		<form-property name="password" type="java.lang.String"/> 

	</form-bean> 

</form-beans>



¶¯Ì¬µÄActionFormµÄʹÓ÷½·¨¸úÆÕͨµÄActionFormÏàͬ£¬µ«ÊÇҪעÒâÒ»µã¡£ÆÕͨµÄActionForm¶ÔÏóÐèҪΪÿ¸öÊôÐÔÌṩgetterºÍsetter·½·¨£¬ÒÔÉÏÃæµÄÀý×Ó¶øÑÔ£¬ÎÒÃÇÐèÒªÌṩgetUsername() ºÍ setUsername()·½·¨È¡µÃºÍÉèÖÃusernameÊôÐÔ£¬Í¬ÑùµØÓÐÒ»¶Ô·½·¨ÓÃÓÚÈ¡µÃºÍÉèÖÃpasswordÊôÐÔºÍactionClassÊôÐÔ¡£

Èç¹ûʹÓÃDynaActionForm£¬Ëü½«ÊôÐÔ±£´æÔÚÒ»¸öHashMapÀà¶ÔÏóÖУ¬Í¬Ê±ÌṩÏàÓ¦µÄget(name) ºÍ set(name)·½·¨£¬ÆäÖвÎÊýnameÊÇÒª·ÃÎʵÄÊôÐÔÃû¡£ÀýÈçÒª·ÃÎÊDynaActionFormÖÐusernameµÄÖµ£¬¿ÉÒÔ²ÉÓÃÀàËÆµÄ´úÂ룺



String username = (String)form.get("username")£»



ÓÉÓÚÖµ´æ·ÅÓÚÒ»¸öHashMap¶ÔÏó£¬ËùÒÔÒª¼ÇµÃ¶Ôget()·½·¨·µ»ØµÄObject¶ÔÏó×öÇ¿ÖÆÐÔÀàÐÍת»»¡£ÕýÊÇÓÉÓÚÕâµãÇø±ð£¬Èç¹ûÄãÔÚActionÖзdz£Æµ·±µØÊ¹ÓÃActionForm¶ÔÏ󣬽¨Ò黹ÊÇʹÓÃÆÕͨµÄActionForm¶ÔÏó¡£

ÔÚStruts 1.1ÖУ¬³ýÁËDynaActionFormÒÔÍ⣬»¹ÌṩÁË±íµ¥ÊäÈë×Ô¶¯ÑéÖ¤µÄ¹¦ÄÜ£¬ÔÚ°üorg.apache.struts.validatorÖÐÌṩÁËÐí¶àÓÐÓõÄÀ࣬ÆäÖÐ×î³£¼ûµÄ¾ÍÊÇDynaValidatorFormÀà¡£

DynaValidatorFormÀà

DynaValidatorFormÊÇDynaActionFormµÄ×ÓÀ࣬ËüÄܹ»Ìṩ¶¯Ì¬ActionFormºÍ×Ô¶¯±íµ¥ÊäÈëÑéÖ¤µÄ¹¦ÄÜ¡£ºÍʹÓÃDynaActionFormÀàËÆ£¬Äã±ØÐëÊ×ÏÈÔÚÅäÖÃÎļþÖнøÐÐÅäÖãº



<form-beans>

	<form-bean name="loginForm" type="org.apache.struts.validator.DynaValidatorForm"> 

		<form-property name="actionClass" type="java.lang.String"/>     

		<form-property name="username" type="java.lang.String"/> 

		<form-property name="password" type="java.lang.String"/>  

	</form-bean>

</form-beans>



ͬʱҪ¶¨ÒåÑéÖ¤µÄ²å¼þ£º



  <plug-in className="org.apache.struts.validator.ValidatorPlugIn">

	<set-property property="pathnames"  

	value="/WEB-INF/validator-rules.xml,  

	/WEB-INF/validation.xml"/>

  </plug-in>



ÆäÖеÄvalidator.xmlºÍvalidator-rules.xml·Ö±ð±íʾÑéÖ¤¶¨ÒåºÍÑéÖ¤¹æÔòµÄÄÚÈÝ£¨¿ÉÒԺϲ¢ÔÚÒ»Æð£©£¬±ÈÈçÕë¶ÔÉÏÀýÖеÄDynaValidatorForm£¬ÎÒÃÇÓÐÈçÏÂÑéÖ¤¶¨Ò壨validator.xml£©£º



<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE form-validation PUBLIC  

"-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.0//EN"  

"http://jakarta.apache.org/commons/dtds/validator_1_0.dtd">

<!--    Validation Rules    $Id: validation.xml-->



<form-validation>  

<!-- ========== Default Language Form Definitions ===================== -->

<formset>  

	<form name="loginForm">     

		<field property="username" depends="required, minlength,maxlength"> 

			<arg0   key="prompt.username"/>          

			<arg1   key="${var:minlength}" name="minlength" resource="false"/>       

			<arg2   key="${var:maxlength}" name="maxlength" resource="false"/>              

			<var>                

				<var-name>maxlength</var-name>    

				<var-value>16</var-value>         

			</var>          

			<var>      

				<var-name>minlength</var-name>     

				<var-value>3</var-value>         

			</var>       

		</field>     

		<field property="password" depends="required, minlength,maxlength" bundle="alternate">          

			<arg0   key="prompt.password"/>   

			<arg1   key="${var:minlength}" name="minlength" resource="false"/>          

			<arg2   key="${var:maxlength}" name="maxlength" resource="false"/>  

			<var>              

				<var-name>maxlength</var-name>     

				<var-value>16</var-value>        

			</var>          

			<var>      

				<var-name>minlength</var-name> 

				<var-value>3</var-value>       

			</var>        

		</field>    

	</form>   

</formset>

</form-validation>


ÎÄÕÂÕûÀí£ºÎ÷²¿ÊýÂë--רҵÌṩÓòÃû×¢²á¡¢ÐéÄâÖ÷»ú·þÎñ
http://www.west263.com
ÒÔÉÏÐÅÏ¢ÓëÎÄÕÂÕýÎÄÊDz»¿É·Ö¸îµÄÒ»²¿·Ö,Èç¹ûÄúÒª×ªÔØ±¾ÎÄÕÂ,Çë±£ÁôÒÔÉÏÐÅÏ¢£¬Ð»Ð»!