锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产 亚洲 中文在线 字幕,国产成人精品久久亚洲高清不卡,亚洲成AV人片久久http://www.tkk7.com/wx886104/category/34067.htmlzh-cnTue, 27 Jul 2010 02:05:13 GMTTue, 27 Jul 2010 02:05:13 GMT60Struts2鏍¢獙妗嗘灦(杞?http://www.tkk7.com/wx886104/archive/2010/07/27/327189.html鍕掔揣鐨甫鍚戝墠鍐?/dc:creator>鍕掔揣鐨甫鍚戝墠鍐?/author>Tue, 27 Jul 2010 02:01:00 GMThttp://www.tkk7.com/wx886104/archive/2010/07/27/327189.html [鏃墮棿]:2009-7-27
[鎽樿]:鏍¢獙妗嗘灦閰嶇疆銆佸鎴風鏍¢獙
[鍏抽敭瀛梋:嫻洣瑙嗛錛孲truts2搴旂敤寮鍙戠郴鍒楋紝WebWork錛孉pache錛寁alidation
[鐜]:struts-2.1.6銆丣DK6銆丮yEclipse7銆乀omcat6
[浣滆匽:Winty (wintys@gmail.com) http://www.tkk7.com/wintys

[姝f枃]:
    Struts鏍¢獙妗嗘灦鎻愪緵浜嗕竴縐嶄笉鐢ㄧ紪鍐欎唬鐮侊紝鍙渶淇敼閰嶇疆鏂囦歡鍗沖彲瀵硅緭鍏ヨ繘琛屾牎楠岀殑鍔熻兘銆備唬鐮佹柟寮忔牎楠岋紝鍗抽噸鍐檝alidate()鏂規硶銆傚疄闄呭簲鐢ㄤ腑錛?strong>validate()涓庢牎楠屾鏋朵竴鑸彧閫夊叾涓銆?br />
1銆佹牎楠屾鏋墮厤緗?br />     鍦≧egisterAction.java鐩稿悓鐩綍鏂板緩鏍¢獙妗嗘灦閰嶇疆鏂囦歡RegisterAction-validation.xml銆俁egisterAction-validation.xml鐨凞TD鍙互澶嶅埗struts鑷甫鐨勭ず渚媠truts2-mailreader-2.1.6涓殑DTD:
<!DOCTYPE validators PUBLIC
          "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
          "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

xwork-validator-1.0.2.dtd:
<?xml version="1.0" encoding="UTF-8"?>

<!--
  XWork Validators DTD.
  Used the following DOCTYPE.
 
  <!DOCTYPE validators PUBLIC
          "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
          "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
-->


<!ELEMENT validators (field|validator)+>

<!ELEMENT field (field-validator+)>
<!ATTLIST field
    name CDATA #REQUIRED
>

<!ELEMENT field-validator (param*, message)>
<!ATTLIST field-validator
    type CDATA #REQUIRED
    short-circuit (true|false) "false"
>

<!ELEMENT validator (param*, message)>
<!ATTLIST validator
    type CDATA #REQUIRED
    short-circuit (true|false) "false"
>

<!ELEMENT param (#PCDATA)>
<!ATTLIST param
    name CDATA #REQUIRED
>

<!ELEMENT message (#PCDATA)>
<!ATTLIST message
    key CDATA #IMPLIED
>


RegisterAction-validation.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
          "-//OpenSymphony Group//XWork Validator 1.0.2//EN"
          "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
 
 <validators>
 <!--  
     涓巉ield絳変環鐨剉alidator
     <validator type="requiredstring">
         <param name="fieldName">name</param>
         <param name="trim">true</param>
         <message>name required</message>
     </validator>
     <validator type="stringlength">
         <param name="fieldName">name</param>
             <param name="trim">true</param>
             <param name="minLength">6</param>
             <param name="maxLength">10</param>
             <message>name length range : ${minLength} ~ ${maxLength}</message>
     </validator>
 -->    
     <field name="name">
         <field-validator type="requiredstring" >
             <param name="trim">true</param>
             <message>name required</message>
         </field-validator>
         <field-validator type="stringlength">
             <param name="trim">true</param>
             <param name="minLength">6</param>
             <param name="maxLength">10</param>
             <message>name length range : ${minLength} ~ ${maxLength}</message>
         </field-validator>
     </field>
     
     <field name="age">
         <field-validator type="conversion" short-circuit="true">
             <message>the field age conversion error</message>
         </field-validator>
         <field-validator type="int">
             <param name="min">1</param>
             <param name="max">150</param>
             <message>age range: ${min} ~ ${max}</message>
         </field-validator>
     </field>
     
     <field name="birthday">
         <field-validator type="required">
             <message>birthday required</message>
         </field-validator>
         <field-validator type="date">
             <param name="min">2009-01-01</param>
             <param name="max">2009-12-31</param>
             <message>birthday range: ${min} ~ ${max}</message>
         </field-validator>
     </field>
     
     <field name="email">
         <field-validator type="email">
             <message>invalid email address</message>
         </field-validator>
     </field>
 </validators>

璇存槑:
a.鏍¢獙妗嗘灦鏈変袱縐嶆牎楠屾柟寮?field鍜寁alidator銆?br /> field鏍¢獙:鍏堟寚瀹氶渶瑕佹牎楠岀殑灞炴э紝鍐嶆寚瀹氭牎楠屾柟寮忋倂alidator鏍¢獙:鍏堟寚瀹氭牎楠屾柟寮忥紝鍐嶆寚瀹氶渶瑕佹牎楠岀殑灞炴с備袱縐嶆柟寮忔槸絳変環鐨勩?br />
field鏍¢獙:
<field name="name">
    <field-validator type="requiredstring" >
        <param name="trim">true</param>
        <message>name required</message>
    </field-validator>
    <field-validator type="stringlength">
        <param name="trim">true</param>
        <param name="minLength">6</param>
        <param name="maxLength">10</param>
        <message>name length range : ${minLength} ~ ${maxLength}</message>
    </field-validator>
</field>

validator鏍¢獙:
<validator type="requiredstring">
    <param name="fieldName">name</param>
    <param name="trim">true</param>
    <message>name required</message>
</validator>
<validator type="stringlength">
    <param name="fieldName">name</param>
    <param name="trim">true</param>
    <param name="minLength">6</param>
    <param name="maxLength">10</param>
    <message>name length range : ${minLength} ~ ${maxLength}</message>
</validator>

b.<field-validator type="requiredstring" >涓殑type鍙婂叾瀵瑰簲鐨剎work綾誨彲浠ュ湪xwork-2.1.2.jar/com.opensymphony.xwork2.validator.validators/default.xml涓煡鎵懼埌銆?br /> default.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
        "-//OpenSymphony Group//XWork Validator Config 1.0//EN"
        "http://www.opensymphony.com/xwork/xwork-validator-config-1.0.dtd">

<!-- START SNIPPET: validators-default -->
<validators>
    <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
    <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
    <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
    <validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
    <validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
    <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
    <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
    <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
    <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
    <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
    <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
    <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
    <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
    <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
    <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
    <validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
</validators>
<!--  END SNIPPET: validators-default -->

c. 瀵逛簬鏍¢獙<field-validator type="requiredstring" >:String鐢╮equiredstring錛屽叾瀹冪被鍨嬬敤required銆?br /> d. 楠岃瘉閿欒灝嗛粯璁や駭鐢烣ieldError銆?br /> e. short-circuit="true" : 涓涓牎楠屽け璐ワ紝鏄惁鏄戶緇墽琛屽悗緇牎楠屻?br /> f. 瀵逛簬鐩稿悓灞炴х殑FieldError錛寁alidate()鏂規硶涓殑楠岃瘉鍜孯egisterAction-validation.xml涓殑楠岃瘉閮戒細鎵ц,騫朵笖FieldError閮戒細鏄劇ず銆?br /> 鎵ц欏哄簭: RegisterAction-validation.xml => validate()銆?br />

2銆佺壒瀹氫簬涓氬姟閫昏緫鐨勫眬閮ㄦ牎楠?
瀵逛簬struts.xml涓?lt;action>鐨刴ethod="register"鎸囧畾鐨勪笟鍔℃柟娉時egister()錛屼嬌鐢ㄦ牎楠孯egisterAction-register-validation.xml(涓嶳egisterAction.java鍦ㄥ悓涓鐩綍涓?銆傚悓鏃訛紝RegisterAction-validation.xml浼氳鎵ц銆傛墽琛岄『搴?  RegisterAction-validation.xml => RegisterAction-register-validation.xml

3銆丼truts2瀹㈡埛绔牎楠?br />     璁劇疆struts鏍囩<s:form>涓璿alidate="true"銆傝繖鏍峰氨浼氭牴鎹甊egisterAction-validation.xml鐢熸垚欏甸潰Javascript錛屽湪瀹㈡埛绔墽琛屾牎楠屻?br />  
 娉ㄦ剰:
 a.struts鏍囩涓嶈兘浣跨敤simple涓婚銆?br />  b.Struts2瀹㈡埛绔牎楠屽姛鑳借緝寮憋紝涓鑸笉鐢ㄣ?br />
4銆丗ieldError鍜孉ctionError鐨勫疄鐜?br /> a.鐪熸瀛樻斁field綰у埆閿欒淇℃伅鐨勫璞℃槸LinkedHashMap銆?br /> b.璇inkedHashMap鐨刱ey鏄疭tring綾誨瀷鐨勶紝value鏄疉rrayList綾誨瀷錛屾墍浠ュ悓涓涓猭ey鍙互瀵瑰簲澶氫釜閿欒娑堟伅銆?br /> c.瀵逛簬Action綰у埆鐨勯敊璇俊鎭紝瀹為檯涓婃槸鏀劇疆鍦ˋrrayList涓殑銆?br />     
[鍙傝冭祫鏂橾:
    銆婃氮鏇﹁棰戜箣Struts2搴旂敤寮鍙戠郴鍒椼?br />

]]>
鍒濈敤org.apache.commons.beanutils.ConvertUtils http://www.tkk7.com/wx886104/archive/2009/03/04/257710.html鍕掔揣鐨甫鍚戝墠鍐?/dc:creator>鍕掔揣鐨甫鍚戝墠鍐?/author>Wed, 04 Mar 2009 02:36:00 GMThttp://www.tkk7.com/wx886104/archive/2009/03/04/257710.htmlhttp://www.tkk7.com/wx886104/comments/257710.htmlhttp://www.tkk7.com/wx886104/archive/2009/03/04/257710.html#Feedback0http://www.tkk7.com/wx886104/comments/commentRss/257710.htmlhttp://www.tkk7.com/wx886104/services/trackbacks/257710.htmlConvertUtils錛岃繖涓伐鍏風被鐨勮亴鑳芥槸鍦ㄥ瓧絎︿覆鍜屾寚瀹氱被鍨嬬殑瀹炰緥涔嬮棿榪涜杞崲銆?

 

 

鐩墠鏀寔鐨勭被鍨嬫湁錛?

 

 

  • java.lang.BigDecimal

     

  • java.lang.BigInteger

     

  • boolean and java.lang.Boolean

     

  • byte and java.lang.Byte

     

  • char and java.lang.Character

     

  • java.lang.Class

     

  • double and java.lang.Double

     

  • float and java.lang.Float

     

  • int and java.lang.Integer

     

  • long and java.lang.Long

     

  • short and java.lang.Short

     

  • java.lang.String

     

  • java.io.File

     

  • java.net.URL

     

  • java.sql.Date

     

  • java.sql.Time

     

  • java.sql.Timestamp

     

鎬諱綋鎻愪緵涓ょ被鍔熻兘錛?

 

 

1.         灝嗗瓧絎︿覆杞崲涓烘寚瀹氱被鍨嬶紱

 

 

2.         娉ㄥ唽銆佹敞閿鍜屾煡璇㈢被鍨嬭漿鎹㈠櫒錛?/font>

convert(java.lang.Object value)

灝嗕換鎰忕殑瀹炰緥杞彉涓?font face='"Times' New Roman">String錛岀敤娉曢潪甯哥畝鍗曘傚湪灝濊瘯鐨勮繃紼嬩腑錛屾劅瑙変笌璋冪敤瀹炰緥涓婄殑toString()鏂規硶鐨勬晥鏋滀竴鏍鳳紝涓嶇煡閬撴槸涓嶆槸鍦ㄨ繖涓柟娉曞唴浠呬粎鏄皟鐢ㄤ簡浼犲叆瀹炰緥鐨?font face='"Times' New Roman">toString()鏂規硶銆?/font>

ps:闇瑕佽婧愪唬鐮佹墠鑳芥竻妤氥?/font>

convert(java.lang.String value, java.lang.Class clazz)

 

灝嗗瓧絎︿覆value杞崲涓?font face='"Times' New Roman">clazz鐨勪竴涓疄渚嬶紱濡傛灉澶辮觸鐨勮瘽錛屽氨浠?font face='"Times' New Roman">String鐨勫艦寮忚繑鍥?font face='"Times' New Roman">value銆?

 

 

convert(java.lang.String[] values, java.lang.Class clazz)

 

榪欎釜鏂規硶鏄鍓嶄竴鏂規硶鐨勫姞寮虹増錛屽皢鏁扮粍涓殑姣忎釜value閮借繘琛岃漿鎹紝鏈鍚庝互Object榪斿洖銆傦紙鏁扮粍涔熸槸Object鍟婏級

 

 

deregister()鍜?a href_cetemp='http://www.itepub.net/html/kaifajingcui/Java/2006/0514/"file:///F:/software/apache/commons/commons-beanutils-1.7.0/docs/api/org/apache/commons/beanutils/ConvertUtils.html#deregister()"'>deregister(java.lang.Class clazz)

娉ㄩ攢杞崲鍣紝鍓嶈呭皢鎵鏈夌殑杞崲鍣ㄦ敞閿鎺夛紝鍚庤呭彧娉ㄩ攢瀵瑰簲浜?font face='"Times' New Roman">clazz鐨勮漿鎹㈠櫒銆傛敞閿鍦ㄨ繖閲屼笉鏄交搴曞垹闄や簡錛岃屾槸灝嗚漿鎹㈠櫒鍙樹負榛樿鐨勮漿鎹㈠櫒錛?font face='"Times' New Roman">apache commons鎻愪緵鐨勶級銆?/font>

lookup(java.lang.Class clazz)

鑾峰彇鎸囧畾綾誨瀷clazz鐨勮漿鎹㈠櫒.

register(Converter converter, java.lang.Class clazz)

涓烘寚瀹氱被鍨?font face='"Times' New Roman">clazz娉ㄥ唽杞崲鍣?font face='"Times' New Roman">converter銆傚鏋?font face='"Times' New Roman">clazz宸茬粡瀛樺湪涓涓搴旂殑杞崲鍣紝閭d箞converter錛屽皢瑕嗙洊鍘熸潵鐨勮漿鎹㈠櫒銆備篃灝辨槸璇達紝鎴戜滑鍙互涓?font face='"Times' New Roman">String,Double鍒涘緩鑷畾涔夌殑綾誨瀷杞崲鍣紝騫跺湪娉ㄥ唽鍚庤繘琛屼嬌鐢ㄣ?/font>

ps:apache鐨勭被瀹氫箟鏄庣‘錛屾弿榪伴潪甯告竻妤氾紝鎵浠ュ氨涓嶈創鍑轟緥瀛愪簡銆傚綋鐒惰繖鍙槸鍒拌揪鍙互姝e父浣跨敤鐨勯樁孌碉紝濡傛灉瑕佽繘琛屾敼閫犳垨鑰呭垱寤鴻嚜宸辯殑ConvertUtils錛岄偅鍙兘闇瑕佹洿澶氱殑鏃墮棿錛屽洜涓鴻繕瑕佸幓鍙傝?font face='"Times' New Roman">ConvertUtilsBean錛岃繖閲屽氨涓嶈榪頒簡銆?br />
浠ヤ笅涓轟嬌鐢╟onvertUtils鐨勪竴涓狣ATE綾誨瀷鐨勪緥瀛愶紙璇ヤ緥瀛愭潵婧愪簬灝氬鍫傝灞忥級
1.瀹氫箟converter

 1package com.bjsxt.oa.web;
 2
 3import java.text.ParseException;
 4import java.text.SimpleDateFormat;
 5import java.util.Date;
 6
 7import org.apache.commons.beanutils.Converter;
 8
 9public class UtilDateConverter implements Converter {
10    
11    private static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
12
13    public Object convert(Class type, Object value) {
14        if (value == null{
15            return value;
16        }

17        if (value instanceof Date) {
18            return value;
19        }

20        if (value instanceof String) {
21            try {
22                return format.parse((String)value);
23            }
 catch (ParseException e) {
24                e.printStackTrace();
25            }

26        }

27        return null;
28    }

29
30}

31
2.浣跨敤convertUilts娉ㄥ唽converter
 1package com.bjsxt.oa.web;
 2
 3import java.util.Date;
 4
 5import javax.servlet.ServletException;
 6import javax.servlet.http.HttpServlet;
 7
 8import org.apache.commons.beanutils.ConvertUtils;
 9
10public class UtilDateConverterInitServlet extends HttpServlet {
11
12    @Override
13    public void init() throws ServletException {
14         ConvertUtils.register(new UtilDateConverter(), Date.class);
15    }

16
17}

18
3.鍦╳eb.xml涓厤緗畇ervlet
1 <servlet>
2    <servlet-name>utilDateConverter</servlet-name>
3    <servlet-class>com.bjsxt.oa.web.UtilDateConverterInitServlet</servlet-class>
4    <load-on-startup>3</load-on-startup>
5  </servlet>  


]]>
org.apache.commons.beanutils.BeanUtils浠嬬粛http://www.tkk7.com/wx886104/archive/2009/03/04/257699.html鍕掔揣鐨甫鍚戝墠鍐?/dc:creator>鍕掔揣鐨甫鍚戝墠鍐?/author>Wed, 04 Mar 2009 01:53:00 GMThttp://www.tkk7.com/wx886104/archive/2009/03/04/257699.htmlhttp://www.tkk7.com/wx886104/comments/257699.htmlhttp://www.tkk7.com/wx886104/archive/2009/03/04/257699.html#Feedback0http://www.tkk7.com/wx886104/comments/commentRss/257699.htmlhttp://www.tkk7.com/wx886104/services/trackbacks/257699.htmlorg.apache.commons.beanutils.BeanUtils
 
涓銆佺畝浠嬶細

BeanUtils鎻愪緵瀵?Java鍙嶅皠鍜岃嚜鐪丄PI鐨勫寘瑁呫傚叾涓昏鐩殑鏄埄鐢ㄥ弽灝勬満鍒跺JavaBean鐨勫睘鎬ц繘琛屽鐞嗐傛垜浠煡閬擄紝涓涓狫avaBean閫氬父鍖呭惈浜嗗ぇ閲忕殑灞炴э紝寰?澶氭儏鍐典笅錛屽JavaBean鐨勫鐞嗗鑷村ぇ閲廹et/set浠g爜鍫嗙Н錛屽鍔犱簡浠g爜闀垮害鍜岄槄璇諱唬鐮佺殑闅懼害銆?br />
浜屻佺敤娉曪細

BeanUtils鏄繖涓寘閲屾瘮杈冨父鐢ㄧ殑涓涓伐鍏風被錛岃繖閲屽彧浠嬬粛瀹冪殑copyProperties()鏂規硶銆傝鏂規硶瀹氫箟濡備笅錛?br />

public static void copyProperties(java.lang.Object dest,java.lang.Object orig)
    throws java.lang.IllegalAccessException,
           java.lang.reflect.InvocationTargetException


濡?鏋滀綘鏈変袱涓叿鏈夊緢澶氱浉鍚屽睘鎬х殑JavaBean錛屼竴涓緢甯歌鐨勬儏鍐靛氨鏄疭truts閲岀殑PO瀵硅薄錛堟寔涔呭璞★級鍜屽搴旂殑ActionForm錛屼緥濡?Teacher鍜孴eacherForm銆傛垜浠竴鑸細鍦ˋction閲屼粠ActionForm鏋勯犱竴涓狿O瀵硅薄錛屼紶緇熺殑鏂瑰紡鏄嬌鐢ㄧ被浼間笅闈㈢殑璇彞瀵瑰睘鎬ч?涓祴鍊鹼細

//寰楀埌TeacherForm
TeacherForm teacherForm=(TeacherForm)form;
//鏋勯燭eacher瀵硅薄
Teacher teacher=new Teacher();
//璧嬪?br /> teacher.setName(teacherForm.getName());
teacher.setAge(teacherForm.getAge());
teacher.setGender(teacherForm.getGender());
teacher.setMajor(teacherForm.getMajor());
teacher.setDepartment(teacherForm.getDepartment());

//鎸佷箙鍖朤eacher瀵硅薄鍒版暟鎹簱
HibernateDAO=;
HibernateDAO.save(teacher);

鑰屼嬌鐢˙eanUtils鍚庯紝浠g爜灝卞ぇ澶ф敼瑙備簡錛屽涓嬫墍紺猴細
//寰楀埌TeacherForm
TeacherForm teacherForm=(TeacherForm)form;
//鏋勯燭eacher瀵硅薄
Teacher teacher=new Teacher();
//璧嬪?br /> BeanUtils.copyProperties(teacher,teacherForm);
//鎸佷箙鍖朤eacher瀵硅薄鍒版暟鎹簱
HibernateDAO=;
HibernateDAO.save(teacher);


濡?鏋淭eacher鍜孴eacherForm闂村瓨鍦ㄥ悕縐頒笉鐩稿悓鐨勫睘鎬э紝鍒橞eanUtils涓嶅榪欎簺灞炴ц繘琛屽鐞嗭紝闇瑕佺▼搴忓憳鎵嬪姩澶勭悊銆備緥濡?Teacher鍖呭惈modifyDate錛堣灞炴ц褰曟渶鍚庝慨鏀規棩鏈燂紝涓嶉渶瑕佺敤鎴峰湪鐣岄潰涓緭鍏ワ級灞炴ц孴eacherForm鏃犳灞炴э紝閭d箞鍦ㄤ笂闈唬鐮佺殑 copyProperties()鍚庤繕瑕佸姞涓婁竴鍙ワ細

teacher.setModifyDate(new Date());


鎬?涔堟牱錛屽緢鏂逛究鍚э紒闄eanUtils澶栬繕鏈変竴涓悕涓篜ropertyUtils鐨勫伐鍏風被錛屽畠涔熸彁渚沜opyProperties()鏂規硶錛屼綔鐢ㄤ笌 BeanUtils鐨勫悓鍚嶆柟娉曞崄鍒嗙浉浼鹼紝涓昏鐨勫尯鍒湪浜庡悗鑰呮彁渚涚被鍨嬭漿鎹㈠姛鑳斤紝鍗沖彂鐜頒袱涓狫avaBean鐨勫悓鍚嶅睘鎬т負涓嶅悓綾誨瀷鏃訛紝鍦ㄦ敮鎸佺殑鏁版嵁綾誨瀷鑼冨洿 鍐呰繘琛岃漿鎹紝鑰屽墠鑰呬笉鏀寔榪欎釜鍔熻兘錛屼絾鏄熷害浼氭洿蹇竴浜涖侭eanUtils鏀寔鐨勮漿鎹㈢被鍨嬪涓嬶細

      * java.lang.BigDecimal
      * java.lang.BigInteger
      * boolean and java.lang.Boolean
      * byte and java.lang.Byte
      * char and java.lang.Character
      * java.lang.Class
      * double and java.lang.Double
      * float and java.lang.Float
      * int and java.lang.Integer
      * long and java.lang.Long
      * short and java.lang.Short
      * java.lang.String
      * java.sql.Date
      * java.sql.Time
      * java.sql.Timestamp


榪欓噷瑕佹敞鎰忎竴鐐癸紝java.util.Date鏄笉琚敮鎸佺殑錛岃屽畠鐨勫瓙綾籮ava.sql.Date鏄鏀寔鐨勩傚洜姝ゅ鏋滃璞″寘鍚椂闂寸被鍨嬬殑灞炴э紝涓斿笇鏈涜杞崲鐨勬椂鍊欙紝涓瀹氳浣跨敤java.sql.Date綾誨瀷銆傚惁鍒欏湪杞崲鏃朵細鎻愮ずargument mistype寮傚父銆?br />
涓夈佷紭緙虹偣錛?br />
Apache Jakarta Commons欏圭洰闈炲父鏈夌敤銆傛垜鏇懼湪璁稿涓嶅悓鐨勯」鐩笂鎴栫洿鎺ユ垨闂存帴鍦頒嬌鐢ㄥ悇縐嶆祦琛岀殑commons緇勪歡銆傚叾涓殑涓涓己澶х殑緇勪歡灝辨槸BeanUtils銆傛垜 灝嗚鏄庡浣曚嬌鐢˙eanUtils灝唋ocal瀹炰綋bean杞崲涓哄搴旂殑value 瀵硅薄錛?br />

BeanUtils.copyProperties(aValue, aLocal)


涓?闈㈢殑浠g爜浠巃Local瀵硅薄澶嶅埗灞炴у埌aValue瀵硅薄銆傚畠鐩稿綋綆鍗曪紒瀹冧笉綆ocal錛堟垨瀵瑰簲鐨剉alue錛夊璞℃湁澶氬皯涓睘鎬э紝鍙榪涜澶嶅埗銆傛垜浠亣璁?local瀵硅薄鏈?00涓睘鎬с備笂闈㈢殑浠g爜浣挎垜浠彲浠ユ棤闇閿叆鑷沖皯100琛岀殑鍐楅暱銆佸鏄撳嚭閿欏拰鍙嶅鐨刧et鍜宻et鏂規硶璋冪敤銆傝繖澶浜嗭紒澶己澶т簡錛佸お鏈夌敤 浜嗭紒

鐜板湪錛岃繕鏈変竴涓潖娑堟伅錛氫嬌鐢˙eanUtils鐨勬垚鏈儕浜哄湴鏄傝吹錛佹垜鍋氫簡涓涓畝鍗曠殑嫻嬭瘯錛孊eanUtils鎵鑺辮垂鐨勬椂闂磋瓚呰繃鍙栨暟 鎹佸皢鍏跺鍒跺埌瀵瑰簲鐨?value瀵硅薄錛堥氳繃鎵嬪姩璋冪敤get鍜宻et鏂規硶錛夛紝浠ュ強閫氳繃涓茶鍖栧皢鍏惰繑鍥炲埌榪滅▼鐨勫鎴鋒満鐨勬椂闂存誨拰銆傛墍浠ヨ灝忓績浣跨敤榪欑濞佸姏錛?
璇ユ枃绔犵殑鍘熸枃鍦板潃涓猴細http://lifejava.spaces.live.com/Blog/cns!A666C33543221640!158.entry


]]>
pager-taglib鐨勫畨瑁呭拰浣跨敤http://www.tkk7.com/wx886104/archive/2008/12/29/248944.html鍕掔揣鐨甫鍚戝墠鍐?/dc:creator>鍕掔揣鐨甫鍚戝墠鍐?/author>Mon, 29 Dec 2008 08:45:00 GMThttp://www.tkk7.com/wx886104/archive/2008/12/29/248944.htmlhttp://www.tkk7.com/wx886104/comments/248944.htmlhttp://www.tkk7.com/wx886104/archive/2008/12/29/248944.html#Feedback0http://www.tkk7.com/wx886104/comments/commentRss/248944.htmlhttp://www.tkk7.com/wx886104/services/trackbacks/248944.html 2銆佸湪JSP欏甸潰涓嬌鐢╰aglib鎸囦護寮曞叆pager-taglib鏍囩搴?br /> 3銆佷嬌鐢╬ager-taglib鏍囩搴撹繘琛屽垎欏靛鐞?br />
pg:pager銆愯繖涓爣絳劇敤鏉ヨ緗垎欏電殑鎬諱綋鍙傛暟銆戦噸瑕佸弬鏁拌鏄庯細
    url:鍒嗛〉鐨勯摼鎺ユ牴鍦板潃錛宲ager鏍囩浼氬湪榪欎釜閾炬帴鐨勫熀紜涓婇檮鍔犲垎欏靛弬鏁?br />     items:鎬昏褰曟暟錛宲ager鏍囩姝f槸鏍規嵁榪欎釜鍊兼潵璁$畻鍒嗛〉鍙傛暟鐨?br />     maxPageItems:姣忛〉鏄劇ず鐨勮鏁幫紝榛樿涓?0
    maxIndexPages:鍦ㄥ驚鐜緭鍑洪〉鐮佺殑鏃跺欙紝鏈澶ц緭鍑哄灝戜釜欏電爜錛岄粯璁ゆ槸10
    
pg:first銆愮涓欏電殑鏍囩銆戦噸瑕佸弬鏁拌鏄庯細
    export鍙橀噺鐨勬剰涔夛細
    pageUrl - 鍒嗛〉閾炬帴URL鍦板潃錛堟渶閲嶈鐨別xport鍙傛暟錛?br />     pageNumber - 欏電爜
    firstItem - 棣栭〉絎竴琛岀殑绱㈠紩鍊?br />     lastItem - 棣栭〉鏈鍚庝竴琛岀殑绱㈠紩鍊?br />     
pg:pre銆愪笂涓欏墊爣絳俱戦噸瑕佸弬鏁拌鏄庯細
    export鍙橀噺鐨勬剰涔夛細
    pageUrl - 鍒嗛〉閾炬帴URL鍦板潃錛堟渶閲嶈鐨別xport鍙傛暟錛?br />     pageNumber - 欏電爜
    firstItem - 鍓嶉〉絎竴琛岀殑绱㈠紩鍊?br />     lastItem - 鍓嶉〉鏈鍚庝竴琛岀殑绱㈠紩鍊?br />
pg:next銆愪笅涓欏墊爣絳俱戦噸瑕佸弬鏁拌鏄庯細
    export鍙橀噺鐨勬剰涔夛細
    pageUrl - 鍒嗛〉閾炬帴URL鍦板潃錛堟渶閲嶈鐨別xport鍙傛暟錛?br />     pageNumber - 欏電爜
    firstItem - 涓嬮〉絎竴琛岀殑绱㈠紩鍊?br />     lastItem - 涓嬮〉鏈鍚庝竴琛岀殑绱㈠紩鍊?br />     
pg:last閲嶈鍙傛暟璇存槑錛?br />     export鍙橀噺鐨勬剰涔夛細
    pageUrl - 鍒嗛〉閾炬帴URL鍦板潃錛堟渶閲嶈鐨別xport鍙傛暟錛?br />     pageNumber - 欏電爜
    firstItem - 灝鵑〉絎竴琛岀殑绱㈠紩鍊?br />     lastItem - 灝鵑〉鏈鍚庝竴琛岀殑绱㈠紩鍊?br />     
pg:pages銆愯繖涓爣絳劇敤鏉ュ驚鐜緭鍑洪〉鐮佷俊鎭戦噸瑕佸弬鏁拌鏄庯細
    export鍙橀噺鐨勬剰涔夛細
    pageUrl - 鍒嗛〉閾炬帴URL鍦板潃錛堟渶閲嶈鐨別xport鍙傛暟錛?br />     pageNumber - 欏電爜
    firstItem - pageNumber榪欎釜欏電爜鎸囧畾鐨勯偅涓欏電殑絎竴琛岀殑绱㈠紩鍊?br />     lastItem - pageNumber榪欎釜欏電爜鎸囧畾鐨勯偅涓欏電殑鏈鍚庝竴琛岀殑绱㈠紩鍊?br />

pager-taglib-2.0涓嬭澆
http://www.tkk7.com/Files/wx886104/pager-taglib-2.0.rar


]]>
struts--struts鍥介檯鍖?/title><link>http://www.tkk7.com/wx886104/archive/2008/12/15/246347.html</link><dc:creator>鍕掔揣鐨甫鍚戝墠鍐?/dc:creator><author>鍕掔揣鐨甫鍚戝墠鍐?/author><pubDate>Mon, 15 Dec 2008 02:46:00 GMT</pubDate><guid>http://www.tkk7.com/wx886104/archive/2008/12/15/246347.html</guid><wfw:comment>http://www.tkk7.com/wx886104/comments/246347.html</wfw:comment><comments>http://www.tkk7.com/wx886104/archive/2008/12/15/246347.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.tkk7.com/wx886104/comments/commentRss/246347.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/wx886104/services/trackbacks/246347.html</trackback:ping><description><![CDATA[<p>1銆乻truts鍥介檯鍖栫殑閰嶇疆<br />  * 鍦╯truts-config.xml鏂囦歡涓姞鍏ワ細<message-resources parameter="MessageResources" /><br />  <br /> 2銆佹彁渚涗笉鍚岀増鏈殑鍥介檯鍖栬祫婧愭枃浠訛紝涓枃闇瑕侀噰鐢╪ative2ascii杞崲鎴恥nicode</p> <p>3銆佸湪jsp涓噰鐢?lt;bean:message>鏍囩鏉ヨ鍙栧浗闄呭寲娑堟伅鏂囨湰</p> <p>4銆佷簡瑙e埄鐢╯truts榛樿灝唋ocale鏀懼埌session涓殑鐗規э紝瀹屾垚閲囩敤緙栫▼鐨勬柟寮忓垏鎹㈣璦璁劇疆<br />  * 鍙傝錛欳hangeLanguageAction.java<br />  <br /> 5銆佹秷鎭枃鏈殑鍥介檯鍖栧鐞嗭紝鍏辨湁涓変釜姝ラ錛?br />  * 鍒涘緩鍥介檯鍖栨秷鎭?br />  * 浼犻掑浗闄呭寲娑堟伅<br />  * 鏄劇ず鍥介檯鍖栨秷鎭?br />  <br /> 濡備綍鍒涘緩鍥介檯鍖栨秷鎭紵<br />  鐞嗚ВActionMessage鍜孉ctionMessages涓や釜瀵硅薄鐨勫尯鍒?br />  <br /> 濡備綍浼犻掑浗闄呭寲娑堟伅錛?br />  * 璋冪敤saveMessage()浼犻掓櫘閫氭秷鎭紝璋冪敤saveErrors浼犻掗敊璇秷鎭?br />  <br /> 濡備綍鏄劇ず鍥介檯鍖栨秷鎭紵<br />  閫氳繃<html:messages>鏍囩鏄劇ず娑堟伅錛堝彲浠ユ樉紺烘櫘閫氭秷鎭拰閿欒娑堟伅錛?br />  閫氳繃<html:errors>鏄劇ず娑堟伅錛堝彧鑳芥樉紺洪敊璇秷鎭級 <br /> <br /> 褰撳皢鍥介檯鍖栬祫婧愭枃浠舵斁鍏ュ埌涓涓寘鏃訛紝鍦╯truts-config.xml鏂囦歡涓姞鍏ワ細<message-resources parameter="鍖呭悕.MessageResources" /><br /> <br /> ChangeLanguageAction.java<br /> </p> <div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080"> 1</span><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /><span style="color: #0000ff">import</span><span style="color: #000000"> java.util.Locale;<br /> </span><span style="color: #008080"> 2</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /><br /> </span><span style="color: #008080"> 3</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> javax.servlet.http.HttpServletRequest;<br /> </span><span style="color: #008080"> 4</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> javax.servlet.http.HttpServletResponse;<br /> </span><span style="color: #008080"> 5</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /><br /> </span><span style="color: #008080"> 6</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> org.apache.struts.Globals;<br /> </span><span style="color: #008080"> 7</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> org.apache.struts.action.Action;<br /> </span><span style="color: #008080"> 8</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> org.apache.struts.action.ActionForm;<br /> </span><span style="color: #008080"> 9</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> org.apache.struts.action.ActionForward;<br /> </span><span style="color: #008080">10</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /></span><span style="color: #0000ff">import</span><span style="color: #000000"> org.apache.struts.action.ActionMapping;<br /> </span><span style="color: #008080">11</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/None.gif" align="top" alt="" /><br /> </span><span style="color: #008080">12</span><span style="color: #000000"><img id="Codehighlighter1_382_956_Open_Image" onclick="this.style.display='none'; Codehighlighter1_382_956_Open_Text.style.display='none'; Codehighlighter1_382_956_Closed_Image.style.display='inline'; Codehighlighter1_382_956_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_382_956_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_382_956_Closed_Text.style.display='none'; Codehighlighter1_382_956_Open_Image.style.display='inline'; Codehighlighter1_382_956_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedBlock.gif" align="top" alt="" /></span><span style="color: #0000ff">public</span><span style="color: #000000"> </span><span style="color: #0000ff">class</span><span style="color: #000000"> ChangeLanguageAction </span><span style="color: #0000ff">extends</span><span style="color: #000000"> Action </span><span id="Codehighlighter1_382_956_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_382_956_Open_Text"><span style="color: #000000">{<br /> </span><span style="color: #008080">13</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /> </span><span style="color: #008080">14</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    @Override<br /> </span><span style="color: #008080">15</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />    </span><span style="color: #0000ff">public</span><span style="color: #000000"> ActionForward execute(ActionMapping mapping, ActionForm form,<br /> </span><span style="color: #008080">16</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />            HttpServletRequest request, HttpServletResponse response)<br /> </span><span style="color: #008080">17</span><span style="color: #000000"><img id="Codehighlighter1_547_953_Open_Image" onclick="this.style.display='none'; Codehighlighter1_547_953_Open_Text.style.display='none'; Codehighlighter1_547_953_Closed_Image.style.display='inline'; Codehighlighter1_547_953_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_547_953_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_547_953_Closed_Text.style.display='none'; Codehighlighter1_547_953_Open_Image.style.display='inline'; Codehighlighter1_547_953_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />            </span><span style="color: #0000ff">throws</span><span style="color: #000000"> Exception </span><span id="Codehighlighter1_547_953_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_547_953_Open_Text"><span style="color: #000000">{<br /> </span><span style="color: #008080">18</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        String lang </span><span style="color: #000000">=</span><span style="color: #000000"> request.getParameter(</span><span style="color: #000000">"</span><span style="color: #000000">lang</span><span style="color: #000000">"</span><span style="color: #000000">);<br /> </span><span style="color: #008080">19</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        <br /> </span><span style="color: #008080">20</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        Locale currentLocale </span><span style="color: #000000">=</span><span style="color: #000000"> Locale.getDefault(); <br /> </span><span style="color: #008080">21</span><span style="color: #000000"><img id="Codehighlighter1_670_717_Open_Image" onclick="this.style.display='none'; Codehighlighter1_670_717_Open_Text.style.display='none'; Codehighlighter1_670_717_Closed_Image.style.display='inline'; Codehighlighter1_670_717_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_670_717_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_670_717_Closed_Text.style.display='none'; Codehighlighter1_670_717_Open_Image.style.display='inline'; Codehighlighter1_670_717_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">if</span><span style="color: #000000"> (</span><span style="color: #000000">"</span><span style="color: #000000">zh</span><span style="color: #000000">"</span><span style="color: #000000">.equals(lang)) </span><span id="Codehighlighter1_670_717_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_670_717_Open_Text"><span style="color: #000000">{<br /> </span><span style="color: #008080">22</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />            currentLocale </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> Locale(</span><span style="color: #000000">"</span><span style="color: #000000">zh</span><span style="color: #000000">"</span><span style="color: #000000">, </span><span style="color: #000000">"</span><span style="color: #000000">CN</span><span style="color: #000000">"</span><span style="color: #000000">);<br /> </span><span style="color: #008080">23</span><span style="color: #000000"><img id="Codehighlighter1_745_792_Open_Image" onclick="this.style.display='none'; Codehighlighter1_745_792_Open_Text.style.display='none'; Codehighlighter1_745_792_Closed_Image.style.display='inline'; Codehighlighter1_745_792_Closed_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" alt="" /><img id="Codehighlighter1_745_792_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_745_792_Closed_Text.style.display='none'; Codehighlighter1_745_792_Open_Image.style.display='inline'; Codehighlighter1_745_792_Open_Text.style.display='inline';" src="http://www.tkk7.com/images/OutliningIndicators/ContractedSubBlock.gif" align="top" alt="" />        }</span></span><span style="color: #0000ff">else</span><span style="color: #000000"> </span><span style="color: #0000ff">if</span><span style="color: #000000">(</span><span style="color: #000000">"</span><span style="color: #000000">en</span><span style="color: #000000">"</span><span style="color: #000000">.equals(lang)) </span><span id="Codehighlighter1_745_792_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.tkk7.com/Images/dot.gif" alt="" /></span><span id="Codehighlighter1_745_792_Open_Text"><span style="color: #000000">{<br /> </span><span style="color: #008080">24</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />            currentLocale </span><span style="color: #000000">=</span><span style="color: #000000"> </span><span style="color: #0000ff">new</span><span style="color: #000000"> Locale(</span><span style="color: #000000">"</span><span style="color: #000000">en</span><span style="color: #000000">"</span><span style="color: #000000">, </span><span style="color: #000000">"</span><span style="color: #000000">US</span><span style="color: #000000">"</span><span style="color: #000000">);<br /> </span><span style="color: #008080">25</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />        }</span></span><span style="color: #000000"><br /> </span><span style="color: #008080">26</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #008000">//</span><span style="color: #008000">request.getSession().setAttribute(Globals.LOCALE_KEY, currentLocale);</span><span style="color: #008000"><br /> </span><span style="color: #008080">27</span><span style="color: #008000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /></span><span style="color: #000000">        <br /> </span><span style="color: #008080">28</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">this</span><span style="color: #000000">.setLocale(request, currentLocale);<br /> </span><span style="color: #008080">29</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" />        </span><span style="color: #0000ff">return</span><span style="color: #000000"> mapping.findForward(</span><span style="color: #000000">"</span><span style="color: #000000">index</span><span style="color: #000000">"</span><span style="color: #000000">);<br /> </span><span style="color: #008080">30</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" alt="" />    }</span></span><span style="color: #000000"><br /> </span><span style="color: #008080">31</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/InBlock.gif" align="top" alt="" /><br /> </span><span style="color: #008080">32</span><span style="color: #000000"><img src="http://www.tkk7.com/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" alt="" />}</span></span></div> <p><br /> <br />  </p> <img src ="http://www.tkk7.com/wx886104/aggbug/246347.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/wx886104/" target="_blank">鍕掔揣鐨甫鍚戝墠鍐?/a> 2008-12-15 10:46 <a href="http://www.tkk7.com/wx886104/archive/2008/12/15/246347.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>Struts涓嬌鐢–ookie鎺у埗鐧誨綍鐨勬祦紼?/title><link>http://www.tkk7.com/wx886104/archive/2008/12/12/245875.html</link><dc:creator>鍕掔揣鐨甫鍚戝墠鍐?/dc:creator><author>鍕掔揣鐨甫鍚戝墠鍐?/author><pubDate>Fri, 12 Dec 2008 02:57:00 GMT</pubDate><guid>http://www.tkk7.com/wx886104/archive/2008/12/12/245875.html</guid><wfw:comment>http://www.tkk7.com/wx886104/comments/245875.html</wfw:comment><comments>http://www.tkk7.com/wx886104/archive/2008/12/12/245875.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/wx886104/comments/commentRss/245875.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/wx886104/services/trackbacks/245875.html</trackback:ping><description><![CDATA[<p style="margin: 0cm 0cm 0pt">璇誨彇 Cookie 闆嗗悎錛岄亶鍘嗛泦鍚堟壘鍒版墍闇鐨?Cookie 錛屽鏋滄壘鍒頒繚瀛樿繘 Session 錛屽惁鍒欒煩杞埌鐧誨綍欏甸潰錛?</p> <p style="margin: 0cm 0cm 0pt"><strong>鎵闇璧勬簮錛?</strong></p> <p style="margin: 0cm 0cm 0pt">ReadCookieAction.java- 璇誨彇 Cookie 闆嗗悎錛屽鏋滄壘鍒板搴?Cookie 錛屽啓鍏?Session 錛?</p> <p style="margin: 0cm 0cm 0pt">Login.jsp- 鐧誨綍鐢ㄩ〉闈紱 </p> <p style="margin: 0cm 0cm 0pt">LoginSubmit.java- 璁板綍鐧誨綍淇℃伅錛屽茍鍐欏叆 Session 錛?</p> <p style="margin: 0cm 0cm 0pt">LoginOk.jsp- 璇誨彇 Session 錛屽茍鏄劇ず銆?</p> <p style="margin: 0cm 0cm 0pt"><strong>璇?Cookie </strong><strong>鐨勬柟娉?</strong>錛?</p> <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><font color="#ffff99"><span style="font-size: 10pt; color: black">Cookie[] cookies = request.getCookies();</span> </font></p> <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><font color="#ffff99"><strong><span style="font-size: 10pt; color: #7f0055">if</span> </strong><span style="font-size: 10pt; color: black">(cookies != </span><strong><span style="font-size: 10pt; color: #7f0055">null</span> </strong><span style="font-size: 10pt; color: black">) {</span> </font></p> <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><font color="#ffff99"><span style="font-size: 10pt; color: black">    </span><strong><span style="font-size: 10pt; color: #7f0055">for</span> </strong><span style="font-size: 10pt; color: black">(</span> <strong><span style="font-size: 10pt; color: #7f0055">int</span> </strong><span style="font-size: 10pt; color: black">i=0; i<cookies.</span> <span style="font-size: 10pt; color: #0000c0">length</span> <span style="font-size: 10pt; color: black">; i++) {</span> </font></p> <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><font color="#ffff99"><span style="font-size: 10pt; color: black">       Cookie cookie = cookies[i];</span> </font></p> <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><font color="#ffff99"><span style="font-size: 10pt; color: black">       </span><strong><span style="font-size: 10pt; color: #7f0055">if</span> </strong><span style="font-size: 10pt; color: black">(cookie.getName().equals(</span> <span style="font-size: 10pt; color: #2a00ff">"userInfo"</span> <span style="font-size: 10pt; color: black">)) {</span> </font></p> <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><font color="#ffff99"><span style="font-size: 10pt; color: black">           String value = cookie.getValue();</span> </font></p> <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><font color="#ffff99"><span style="font-size: 10pt; color: black">           String[] info = value.split(</span> <span style="font-size: 10pt; color: #2a00ff">"_"</span> <span style="font-size: 10pt; color: black">);</span> </font></p> <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><font color="#ffff99"><span style="font-size: 10pt; color: black">           UserForm userForm = </span><strong><span style="font-size: 10pt; color: #7f0055">new</span> </strong><span style="font-size: 10pt; color: black">UserForm();</span> </font></p> <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><font color="#ffff99"><span style="font-size: 10pt; color: black">           userForm.setUserName(info[0]);</span> </font></p> <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><font color="#ffff99"><span style="font-size: 10pt; color: black">           userForm.setUserPassword(info[1]);</span> </font></p> <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><font color="#ffff99"><span style="font-size: 10pt; color: black">           request.getSession().setAttribute(</span> <span style="font-size: 10pt; color: #2a00ff">"userForm"</span> <span style="font-size: 10pt; color: black">, userForm);</span> </font></p> <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><font color="#ffff99"><span style="font-size: 10pt; color: black">           </span><strong><span style="font-size: 10pt; color: #7f0055">return</span> </strong><span style="font-size: 10pt; color: black">mapping.findForward(</span> <span style="font-size: 10pt; color: #2a00ff">"ok"</span> <span style="font-size: 10pt; color: black">);</span> </font></p> <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><font color="#ffff99"><span style="font-size: 10pt; color: black">       }</span> </font></p> <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><font color="#ffff99"><span style="font-size: 10pt; color: black">    }</span> </font></p> <p style="margin: 0cm 0cm 0pt"><font color="#ffff99"><span style="font-size: 10pt; color: black">}</span> </font></p> <p style="margin: 0cm 0cm 0pt"><strong>鍐?Cookie </strong><strong>鐨勬柟娉曪細 </strong></p> <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><font color="#ffff99"><span style="font-size: 10pt; color: black">Cookie c = </span><strong><span style="font-size: 10pt; color: #7f0055">new</span> </strong><span style="font-size: 10pt; color: black">Cookie(</span> <span style="font-size: 10pt; color: #2a00ff">"userInfo"</span> <span style="font-size: 10pt; color: black">,userForm.getUserName()+</span> <span style="font-size: 10pt; color: #2a00ff">"_"</span> <span style="font-size: 10pt; color: black">+userForm.getUserPassword());</span> </font></p> <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><font color="#ffff99"><span style="font-size: 10pt; color: black">c.setComment(</span> <span style="font-size: 10pt; color: #2a00ff">"A test cookie"</span> <span style="font-size: 10pt; color: black">);</span> </font></p> <p style="margin: 0cm 0cm 0pt; text-align: left" align="left"><font color="#ffff99"><span style="font-size: 10pt; color: black">c.setMaxAge(120);</span> </font></p> <p style="margin: 0cm 0cm 0pt"><font color="#ffff99"><span style="font-size: 10pt; color: black">response.addCookie(c);</span> </font></p> <img src ="http://www.tkk7.com/wx886104/aggbug/245875.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/wx886104/" target="_blank">鍕掔揣鐨甫鍚戝墠鍐?/a> 2008-12-12 10:57 <a href="http://www.tkk7.com/wx886104/archive/2008/12/12/245875.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>struts--鍏充簬ACTION鐨勬槧灝勮礬寰勫績寰?/title><link>http://www.tkk7.com/wx886104/archive/2008/12/11/245641.html</link><dc:creator>鍕掔揣鐨甫鍚戝墠鍐?/dc:creator><author>鍕掔揣鐨甫鍚戝墠鍐?/author><pubDate>Thu, 11 Dec 2008 03:09:00 GMT</pubDate><guid>http://www.tkk7.com/wx886104/archive/2008/12/11/245641.html</guid><wfw:comment>http://www.tkk7.com/wx886104/comments/245641.html</wfw:comment><comments>http://www.tkk7.com/wx886104/archive/2008/12/11/245641.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/wx886104/comments/commentRss/245641.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/wx886104/services/trackbacks/245641.html</trackback:ping><description><![CDATA[鍦ㄩ噰鐢╯truts妗嗘灦欏圭洰涓紝鎴戜滑閫氬父灝嗘ā鍧楀垎綾伙紝鏀懼湪妯″潡鐨勬枃浠跺す涓傝繖鏍峰湪欏甸潰涓闂椂闇鍔犱笂鏂囦歡鐩綍鍚嶈礬寰勬柟鍙備絾鏄垜浠彲浠ラ氳繃鍦╯truts-config涓厤緗瓵ction鏃跺姞涓婁竴涓櫄鎷熺殑鐩綍鍚嶏紝浣胯櫄鎷熺殑鐩綍鍚嶅拰妯″潡鐨勬枃浠剁洰褰曞悕鍚屽悕錛岄氳繃璁塊棶Action鏃跺氨鍙嚜鍔ㄨ繘鍏ヨ鐩綍涓嬶紝榪欐牱璁塊棶鏃跺氨涓嶉渶鍐嶆枃浠剁洰褰曡礬寰勪簡銆?br /> 渚嬶細涓涓枃浠剁鐞嗙郴緇熶腑鏈夌敤鎴風鐞嗘ā鍧楋紝灝嗗叾鏀懼叆鎸囧畾鐨勬ā鍧楁枃浠跺す涓嬶紝濡傚浘錛?br /> <img height="73" alt="" src="http://www.tkk7.com/images/blogjava_net/wx886104/1.jpg" width="175" border="0" /><br /> 鍦╯truts-config.xml鏂囦歡涓厤緗瓵ction鐨刾ath錛屽鍥撅細<br /> <img height="135" alt="" src="http://www.tkk7.com/images/blogjava_net/wx886104/2.jpg" width="652" border="0" /><br /> 鍦ㄩ〉闈㈣闂椂錛岃緗繛鎺ュ錛?lt;a href="user/list.do" title="璇風偣鍑昏闂敤鎴風鐞嗙郴緇?>鐢ㄦ埛綆$悊緋葷粺</a><br /> 褰撶偣鍑誨悗錛屽湪鍦板潃鏍忎腑鏄劇ず鐨勫湴鍧濡傚浘錛?br /> <img height="42" alt="" src="http://www.tkk7.com/images/blogjava_net/wx886104/3.jpg" width="424" border="0" /><br /> 榪欐牱灝辮繘鍏ser鐩綍涓嬨傚啀鍦ㄨ闂敼鐩綍涓嬬殑鏂囦歡鏃訛紝灝變笉闇鍔犱粈涔堢洰褰曞悕浜嗐?br /> <img src ="http://www.tkk7.com/wx886104/aggbug/245641.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/wx886104/" target="_blank">鍕掔揣鐨甫鍚戝墠鍐?/a> 2008-12-11 11:09 <a href="http://www.tkk7.com/wx886104/archive/2008/12/11/245641.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>(杞澆)struts涓婁紶涓嬭澆http://www.tkk7.com/wx886104/archive/2008/09/25/231112.html鍕掔揣鐨甫鍚戝墠鍐?/dc:creator>鍕掔揣鐨甫鍚戝墠鍐?/author>Thu, 25 Sep 2008 07:12:00 GMThttp://www.tkk7.com/wx886104/archive/2008/09/25/231112.htmlhttp://www.tkk7.com/wx886104/comments/231112.htmlhttp://www.tkk7.com/wx886104/archive/2008/09/25/231112.html#Feedback0http://www.tkk7.com/wx886104/comments/commentRss/231112.htmlhttp://www.tkk7.com/wx886104/services/trackbacks/231112.html鏈榪戣鍋氫笂浼犱笅杞斤紝鎵浠ュ張鎶婂畠緲誨嚭浜嗭紝鐔熸倝浜嗕竴鎶婏紝鍋氫簡涓涓嬪瓧鑺傝漿鎹㈢殑璋冩暣鍙婁笂浼犵被鍨嬬殑闄愬埗錛屽綋鐒惰繕鏈変笂浼犺礬寰勭殑闄愬埗銆備笉榪囦竴鐩村湪鑰冭檻鐨勯棶棰樻槸鎬庢牱鎵懼埌鍑忓皯鏈嶅姟鍣ㄥ帇鍔涚殑鍏蜂綋鏂規硶錛屾湰鍒楀瓙璐村嚭鏉ユ槸甯屾湜鑳界粰鏌愪簺鏂版墜涓浜涘府鍔╋紝鍚屾椂涔熷笇鏈涘悇璺ぇ渚犳壒璇勬寚鐐瑰皬寮熺殑璁稿涓嶈凍銆?/span>

 

棣栧厛寤虹珛涓涓狥ileAction

package com.action;
import org.apache.struts.action.*;
import javax.servlet.http.*;
import com.actionForm.FileActionForm;
import org.apache.struts.actions.DispatchAction;
import java.util.Date;
import java.text.*;
import org.apache.struts.upload.FormFile;
import java.io.*;
import java.net.URLEncoder;
import com.dao.*;

public class FileAction extends DispatchAction {

    private JDBConnection connection =new JDBConnection();
//浠ヤ笅鏂規硶瀹炵幇鏂囦歡鐨勪笂浼?/span>
    public ActionForward upLoadFile(ActionMapping mapping, ActionForm form,
                                    HttpServletRequest request,
                                    HttpServletResponse response) throws
            Exception {
     ActionForward forward=null;
        Date date = new Date();
        FileActionForm fileActionForm = (FileActionForm) form;
        //FormFile鐢ㄤ簬鎸囧畾瀛樺彇鏂囦歡鐨勭被鍨?br />         FormFile file = fileActionForm.getFile(); //鑾峰彇褰撳墠鐨勬枃浠?/span>
      // 鑾峰緱緋葷粺鐨勭粷瀵硅礬寰?/span>  String dir = servlet.getServletContext().getRealPath("/image");
        //鎴戜笂浼犵殑鏂囦歡娌℃湁鏀懼湪鏈嶅姟鍣ㄤ笂銆傝屾槸瀛樺湪D:D:\\loadfile\\temp\\
        String dir="D:\\loadfile\\temp\\";
        int i = 0;
  String type = file.getFileName();
  while(i!=-1){
   //鎵懼埌涓婁紶鏂囦歡鐨勭被鍨嬬殑浣嶇疆錛岃繖涓湴鏂圭殑鏄?.'
   i = type.indexOf(".");
  /* System.out.println(i);*/
   /*鎴彇涓婁紶鏂囦歡鐨勫悗緙鍚?姝ゆ椂寰楀埌浜嗘枃浠剁殑綾誨瀷*/
   type = type.substring(i+1);
  }
  // 闄愬埗涓婁紶綾誨瀷涓簀pg,txt,rar;
  if (!type.equals("jpg") && !type.equals("txt")&& !type.equals("bmp"))
   
  {//褰撲笂浼犵殑綾誨瀷涓嶄負涓婅堪綾誨瀷鏃訛紝璺寵漿鍒伴敊璇〉闈€?/span>
    forward=mapping.findForward("error");
  }
  else
  {  
//    灝嗕笂浼犳椂闂村姞鍏ユ枃浠跺悕錛堣繖涓湴鏂圭殑鏄縐掓暟錛?nbsp;  
     String times = String.valueOf(date.getTime());
    //緇勫悎鎴?time.type
         String  fname = times + "." + type;
       //InInputStream鏄敤浠ヤ粠鐗瑰畾鐨勮祫婧愯鍙栧瓧鑺傜殑鏂規硶銆?br />           InputStream streamIn = file.getInputStream();    //鍒涘緩璇誨彇鐢ㄦ埛涓婁紶鏂囦歡鐨勫璞?br />           //寰楀埌鏄瓧鑺傛暟錛屽嵆byte,鎴戜滑鍙互鐩存帴鐢╢ile.getFileSize(),涔熷彲浠ュ湪鍒涘緩璇誨彇瀵硅薄鏃剁敤streamIn.available();
         // int ok=streamIn.available();          
          int ok=file.getFileSize();
          String strFee = null;
          //榪欎釜鍦版柟鏄鐞嗕笂浼犵殑涓篗鍗曚綅璁$畻鏃訛紝涓嬩竴涓槸浠b,鍦ㄤ笅涓涓槸byte;
         
          if(ok>=1024*1024)
          {
           float ok1=(((float)ok)/1024f/1024f); 
           DecimalFormat myformat1 = new DecimalFormat("0.00");        
          strFee = myformat1.format(ok1)+"M";
                 System.out.println(strFee+"M");
          }
          else if(ok>1024 && ok<=1024*1024)
          {
             double  ok2=((double)ok)/1024;
             DecimalFormat myformat2=new DecimalFormat("0.00");
            strFee = myformat2.format(ok2)+"kb";
                 System.out.println(strFee+"kb");
          }
          else if(ok<1024)
          {
           System.out.println("aaaaaaaaa");
           strFee=String.valueOf(ok)+"byte";
           System.out.println(strFee);
          
          }
          System.out.println( streamIn.available()+"鏂囦歡澶у皬byte");
          //榪欎釜鏄痠o鍖呬笅鐨勪笂浼犳枃浠剁被
          File uploadFile = new File(dir);   //鎸囧畾涓婁紶鏂囦歡鐨勪綅緗?br />           if (!uploadFile.exists() || uploadFile == null) {  //鍒ゆ柇鎸囧畾璺緞dir鏄惁瀛樺湪錛屼笉瀛樺湪鍒欏垱寤鴻礬寰?br />               uploadFile.mkdirs();
          }
          //涓婁紶鐨勮礬寰?鏂囦歡鍚?br />           String path = uploadFile.getPath() + "\\" + fname;
       //OutputStream鐢ㄤ簬鍚戞煇涓洰鏍囧啓鍏ュ瓧鑺傜殑鎶借薄綾伙紝榪欎釜鍦版柟鍐欏叆鐩爣鏄痯ath錛岄氳繃杈撳嚭嫻丗ileOutputStream鍘誨啓
          OutputStream streamOut = new FileOutputStream(path);
          int bytesRead = 0;
          byte[] buffer = new byte[8192];
          //灝嗘暟鎹鍏yte鏁扮粍鐨勪竴閮ㄥ垎錛屽叾涓鍏ュ瓧鑺傛暟鐨勬渶澶у兼槸8192錛岃鍏ョ殑瀛楄妭灝嗗瓨鍌ㄥ埌錛宐uffer[0]鍒癰uffer[0+8190-1]鐨勯儴鍒嗕腑
          //streamIn.read鏂規硶榪斿洖鐨勬槸瀹為檯璇誨彇瀛楄妭鏁扮洰.濡傛灉璇誨埌鏈熬鍒欒繑鍥?1.濡傛灉bytesRead榪斿洖涓?鍒欒〃紺烘病鏈夎鍙栦換浣曞瓧鑺傘?br />
          while ((bytesRead = streamIn.read(buffer, 0, 8192)) != -1) {
           //鍐欏叆buffer鏁扮粍鐨勪竴閮ㄥ垎錛屼粠buf[0]寮濮嬪啓鍏ュ茍鍐欏叆bytesRead涓瓧鑺傦紝榪欎釜write鏂規硶灝嗗彂鐢熼樆濉炵洿鑷沖瓧鑺傚啓鍏ュ畬鎴愩?br />               streamOut.write(buffer, 0, bytesRead);
          }
        //  鍏抽棴杈撳嚭杈撳叆嫻?閿姣丗ile嫻併?br />           streamOut.close();
          streamIn.close();
          file.destroy();    
          String paths=path;
          System.out.println(paths);
         String fileName = Chinese.toChinese(fileActionForm.getFileName()); //鑾峰彇鏂囦歡鐨勫悕縐?/span>
        //String fileSize = String.valueOf(file.getFileSize());
         String fileDate = DateFormat.getDateInstance().format(date);
         String sql = "insert into tb_file values('" + fileName + "','" +
         strFee + "','" + fileDate + "','" + paths + "')";

         connection.executeUpdate(sql);
         connection.closeConnection();
         forward=mapping.findForward("upLoadFileResult");
  }
        return forward;
    }
    //瀹炵幇鏂囦歡鐨勪笅杞?br />     public ActionForward downFile(ActionMapping mapping, ActionForm form,
                                  HttpServletRequest request,
                                  HttpServletResponse response) throws
            Exception {
        String path = request.getParameter("path");
        System.out.println(path+"111");
        BufferedInputStream bis = null;
        BufferedOutputStream bos = null;
        OutputStream fos = null;
        InputStream fis = null;
       
      //濡傛灉鏄粠鏈嶅姟鍣ㄤ笂鍙栧氨鐢ㄨ繖涓幏寰楃郴緇熺殑緇濆璺緞鏂規硶銆?nbsp; String filepath = servlet.getServletContext().getRealPath("/" + path);
        String  filepath=path;
        System.out.println("鏂囦歡璺緞"+filepath);
        File uploadFile = new File(filepath);
        fis = new FileInputStream(uploadFile);
        bis = new BufferedInputStream(fis);
        fos = response.getOutputStream();
        bos = new BufferedOutputStream(fos);
        //榪欎釜灝卞氨鏄脊鍑轟笅杞藉璇濇鐨勫叧閿唬鐮?/span>
        response.setHeader("Content-disposition",
                           "attachment;filename=" +
                           URLEncoder.encode(path, "utf-8"));
        int bytesRead = 0;
        //榪欎釜鍦版柟鐨勫悓涓婁紶鐨勪竴鏍楓傛垜灝變笉澶氳浜嗭紝閮芥槸鐢ㄨ緭鍏ユ祦榪涜鍏堣錛岀劧鍚庣敤杈撳嚭嫻佸幓鍐欙紝鍞竴涓嶅悓鐨勬槸鎴戠敤鐨勬槸緙撳啿杈撳叆杈撳嚭嫻?br />         byte[] buffer = new byte[8192];
        while ((bytesRead = bis.read(buffer, 0, 8192)) != -1) {
            bos.write(buffer, 0, bytesRead);
        }
        bos.flush();
        fis.close();
        bis.close();
        fos.close();
        bos.close();
        return null;
    }

}

FileActionForm

     

package com.actionForm;

import org.apache.struts.action.*;
import org.apache.struts.upload.*;

public class FileActionForm extends ActionForm {
    private String fileName;//涓婁紶鏂囦歡鐨勫悕縐?br />     private String fileSize;//涓婁紶鏂囦歡鐨勫ぇ灝?br />     private String filePath;//涓婁紶鏂囦歡鍒版湇鍔″櫒鐨勮礬寰?br />     private String fileDate;//涓婁紶鏂囦歡鐨勬棩鏈?br />     private FormFile file;//涓婁紶鏂囦歡

    public String getFileName() {
        return fileName;
    }

    public FormFile getFile() {
        return file;
    }

    public String getFileSize() {
        return fileSize;
    }

    public String getFilePath() {
        return filePath;
    }

    public String getFileDate() {
        return fileDate;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public void setFile(FormFile file) {
        this.file = file;
    }

    public void setFileSize(String fileSize) {
        this.fileSize = fileSize;
    }

    public void setFilePath(String filePath) {
        this.filePath = filePath;
    }

    public void setFileDate(String fileDate) {
        this.fileDate = fileDate;
    }

}

index.jsp  姝や綅緗殑form鏄痡avabeen鐨勫璞★紝榪欎釜javabeen涓瓨鍙栫殑鍥劇墖鐨勭浉鍏充俊鎭?/span>

<table width="264" height="81" border="0" align="center" cellpadding="0" cellspacing="0">
                <tr>
                  <td width="115"  rowspan="4" align="center"><img src="<%=form.getFilePath()%>" width="100" height="100"></td>
                  <td width="133" align="center">鍥劇墖鍚嶇О錛?lt;%=form.getFileName()%></td>
                </tr>
                <tr align="center">
                  <td>鍥劇墖澶у皬錛?lt;%=form.getFileSize()%></td>
                </tr>
                <tr align="center">
                  <td>涓婁紶鏃ユ湡:<%=form.getFileDate()%></td>
                </tr>
                <tr>
                  <td align="center"><a href="fileAction.do?method=downFile&path=<%=form.getFilePath()%>" ><img src="priture/bottond.jpg"></a>


                  </td>
                </tr>
            </table>

<html:form action="fileAction.do?method=upLoadFile" enctype="multipart/form-data" onsubmit="return Mycheck()">
        <table height="52" border="0" align="center" cellpadding="0" cellspacing="0">
          <tr align="center">
            <td width="60" height="26">鍥劇墖鍚嶇О:</td>
            <td width="160"> <html:text property="fileName"/> </td>
            <td width="60">鍥劇墖璺緞:</td>
            <td width="198"> <html:file property="file"/> </td>
          </tr>
          <tr align="right">
            <td height="26" colspan="4"> <html:submit>涓婁紶</html:submit> </td>
          </tr>
        </table>
  </html:form>

struts-config.xml  

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "

<struts-config>
  <form-beans>
    <form-bean name="fileActionForm" type="com.actionForm.FileActionForm" />
  </form-beans>
  <action-mappings>
    <action name="fileActionForm" parameter="method" path="/fileAction" scope="request" type="com.action.FileAction" validate="true">
        <forward name="upLoadFileResult" path="/result.jsp"/>
        <forward name="error" path="/fail.jsp"></forward>
    </action>
  </action-mappings>
  <message-resources parameter="ApplicationResources" />
</struts-config>



杞嚜javaEye http://www.javaeye.com/topic/219585



]]>
log4j.properties鏂囦歡妯℃澘http://www.tkk7.com/wx886104/archive/2008/09/16/229118.html鍕掔揣鐨甫鍚戝墠鍐?/dc:creator>鍕掔揣鐨甫鍚戝墠鍐?/author>Tue, 16 Sep 2008 04:01:00 GMThttp://www.tkk7.com/wx886104/archive/2008/09/16/229118.htmlhttp://www.tkk7.com/wx886104/comments/229118.htmlhttp://www.tkk7.com/wx886104/archive/2008/09/16/229118.html#Feedback0http://www.tkk7.com/wx886104/comments/commentRss/229118.htmlhttp://www.tkk7.com/wx886104/services/trackbacks/229118.html##Log4J鐨勯厤緗箣綆鍗曚嬌瀹冮亶鍙婁簬瓚婃潵瓚婂鐨勫簲鐢ㄤ腑浜?br />
##Log4J閰嶇疆鏂囦歡瀹炵幇浜嗚緭鍑哄埌鎺у埗鍙般佹枃浠躲佸洖婊氭枃浠躲佸彂閫佹棩蹇楅偖浠躲佽緭鍑哄埌鏁版嵁搴撴棩蹇楄〃銆佽嚜瀹氫箟鏍囩絳夊叏濂楀姛鑳姐傛嫨鍏朵竴浜屼嬌鐢ㄥ氨澶熺敤浜嗐?br />
##姝ゆ枃浠訛紙log4j.properties錛夊唴瀹規潵鑷綉緇滐紝闈炴湰鏂囦綔鑰卨iigo鍘熷垱銆?br /> log4j.rootLogger 
= DEBUG, CONSOLE,A1
log4j.addivity.org.apache 
= true  

# 搴旂敤浜庢帶鍒跺彴 
log4j.appender.CONSOLE 
= org.apache.log4j.ConsoleAppender 
log4j.appender.Threshold 
= DEBUG 
log4j.appender.CONSOLE.Target 
= System.out 
log4j.appender.CONSOLE.layout 
= org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern 
= [framework]  % d  -   % c  -%- 4r [ % t]  %- 5p  % c  % x  -   % m % n 
#log4j.appender.CONSOLE.layout.ConversionPattern 
= [start] % d  {DATE} [DATE] % n % p[PRIORITY] % n % x[NDC] % n % t[THREAD] n % c[CATEGORY] % n % m[MESSAGE] % n % n 

#搴旂敤浜庢枃浠?br /> log4j.appender.FILE 
= org.apache.log4j.FileAppender 
log4j.appender.FILE.File 
= file.log 
log4j.appender.FILE.Append 
= false  
log4j.appender.FILE.layout 
= org.apache.log4j.PatternLayout 
log4j.appender.FILE.layout.ConversionPattern 
= [framework]  % d  -   % c  -%- 4r [ % t]  %- 5p  % c  % x  -   % m % n 
# Use  
this  layout  for  LogFactor  5  analysis 

# 搴旂敤浜庢枃浠跺洖婊?nbsp;
log4j.appender.ROLLING_FILE 
= org.apache.log4j.RollingFileAppender 
log4j.appender.ROLLING_FILE.Threshold 
= ERROR 
log4j.appender.ROLLING_FILE.File 
= rolling.log 
log4j.appender.ROLLING_FILE.Append 
= true  
log4j.appender.ROLLING_FILE.MaxFileSize 
= 10KB 
log4j.appender.ROLLING_FILE.MaxBackupIndex 
= 1  
log4j.appender.ROLLING_FILE.layout 
= org.apache.log4j.PatternLayout 
log4j.appender.ROLLING_FILE.layout.ConversionPattern 
= [framework]  % d  -   % c  -%- 4r [ % t]  %- 5p  % c  % x  -   % m % n 

#搴旂敤浜巗ocket 
log4j.appender.SOCKET 
= org.apache.log4j.RollingFileAppender 
log4j.appender.SOCKET.RemoteHost 
= localhost 
log4j.appender.SOCKET.Port 
= 5001  
log4j.appender.SOCKET.LocationInfo 
= true  
# Set up  
for  Log Facter  5  
log4j.appender.SOCKET.layout 
= org.apache.log4j.PatternLayout 
log4j.appender.SOCET.layout.ConversionPattern 
= [start] % d  {DATE} [DATE] % n % p[PRIORITY] % n % x[NDC] % n % t[THREAD] % n % c[CATEGORY] % n % m[MESSAGE] % n % n 

# Log Factor  
5  Appender 
log4j.appender.LF5_APPENDER 
= org.apache.log4j.lf5.LF5Appender 
log4j.appender.LF5_APPENDER.MaxNumberOfRecords 
= 2000  

# 鍙戦佹棩蹇楃粰閭歡 
log4j.appender.MAIL 
= org.apache.log4j.net.SMTPAppender 
log4j.appender.MAIL.Threshold 
= FATA
log4j.appender.MAIL.BufferSize 
= 10  
log4j.appender.MAIL.From 
= web@www.wuset.com
log4j.appender.MAIL.SMTPHost 
= www.wusetu.com 
log4j.appender.MAIL.Subject 
= Log4J Message 
log4j.appender.MAIL.To 
= web@www.wusetu.com
log4j.appender.MAIL.layout 
= org.apache.log4j.PatternLayout 
log4j.appender.MAIL.layout.ConversionPattern 
= [framework]  % d  -   % c  -%- 4r [ % t]  %- 5p  % c  % x  -   % m % n 


# 鐢ㄤ簬鏁版嵁搴?nbsp;
log4j.appender.DATABASE 
= org.apache.log4j.jdbc.JDBCAppender 
log4j.appender.DATABASE.URL 
= jdbc:mysql: // localhost:3306/test  
 log4j.appender.DATABASE.driver = com.mysql.jdbc.Driver 
log4j.appender.DATABASE.user 
= root 
log4j.appender.DATABASE.password 
=  
log4j.appender.DATABASE.sql 
= INSERT INTO LOG4J (Message) VALUES ( ' [framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n ' ) 
log4j.appender.DATABASE.layout 
= org.apache.log4j.PatternLayout 
log4j.appender.DATABASE.layout.ConversionPattern 
= [framework]  % d  -   % c  -%- 4r [ % t]  %- 5p  % c  % x  -   % m % n 
log4j.appender.A1 
= org.apache.log4j.DailyRollingFileAppender 
log4j.appender.A1.File 
= SampleMessages.log4j 
log4j.appender.A1.DatePattern 
= yyyyMMdd - HH ' .log4j '  
log4j.appender.A1.layout 
= org.apache.log4j.xml.XMLLayout 

#鑷畾涔堿ppender 
log4j.appender.im  
=  net.cybercorlin.util.logger.appender.IMAppender 
log4j.appender.im.host  
=  mail.cybercorlin.net 
log4j.appender.im.username  
=  username 
log4j.appender.im.password  
=  password 
log4j.appender.im.recipient  
=  corlin@cybercorlin.net
log4j.appender.im.layout 
= org.apache.log4j.PatternLayout 
log4j.appender.im.layout.ConversionPattern  
= [framework]  % d  -   % c  -%- 4r [ % t]  %- 5p  % c  % x  -   % m % n

# 緇撴潫 


]]>
struts鐨勯獙璇佹鏋朵腑鐨刟rg鍙傛暟http://www.tkk7.com/wx886104/archive/2008/09/05/227263.html鍕掔揣鐨甫鍚戝墠鍐?/dc:creator>鍕掔揣鐨甫鍚戝墠鍐?/author>Fri, 05 Sep 2008 08:45:00 GMThttp://www.tkk7.com/wx886104/archive/2008/09/05/227263.htmlhttp://www.tkk7.com/wx886104/comments/227263.htmlhttp://www.tkk7.com/wx886104/archive/2008/09/05/227263.html#Feedback0http://www.tkk7.com/wx886104/comments/commentRss/227263.htmlhttp://www.tkk7.com/wx886104/services/trackbacks/227263.html 渚嬪錛?br />
 1 <field property="phone" depends="required,mask,minlength,maxlength">
 2                 <arg0 key="phne" resource="false"/>
 3                 <arg1 name="minlength" key="${minlength}" resource="fasle"/>
 4                 <arg1 name="maxlength" key="${maxlength}" resource="fasle"/>
 5                 <var>
 6                     <var-name>mask</var-name>
 7                     <var-value>${phone}</var-value>
 8                 </var>
 9                 <var>
10                     <var-name>minlength</var-name>
11                     <var-value>8</var-value>
12                 </var>
13                 <var>
14                     <var-name>maxlength</var-name>
15                     <var-value>8</var-value>
16                 </var>
17             </field>




]]>
浣跨敤struts鐨?DispatchAction鐨勪竴鐐圭粏鑺?/title><link>http://www.tkk7.com/wx886104/archive/2008/09/05/227156.html</link><dc:creator>鍕掔揣鐨甫鍚戝墠鍐?/dc:creator><author>鍕掔揣鐨甫鍚戝墠鍐?/author><pubDate>Fri, 05 Sep 2008 03:00:00 GMT</pubDate><guid>http://www.tkk7.com/wx886104/archive/2008/09/05/227156.html</guid><wfw:comment>http://www.tkk7.com/wx886104/comments/227156.html</wfw:comment><comments>http://www.tkk7.com/wx886104/archive/2008/09/05/227156.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/wx886104/comments/commentRss/227156.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/wx886104/services/trackbacks/227156.html</trackback:ping><description><![CDATA[浠婂ぉ鍦ㄥ涔犱嬌鐢╫rg.apache.struts.actions.DispatchAction<br /> 鍙戠幇搴斾負浣跨敤myeclipse(me)鏉ュ緩绔嬶紝鍥犱負me浼氶粯璁ょ殑寤虹珛execute鏂規硶錛屽繀欏誨皢execute鍒犲幓錛屽惁鍒欒嚜瀹氱殑鏂規硶涓嶄細琚皟鐢ㄣ?br /> <img src ="http://www.tkk7.com/wx886104/aggbug/227156.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/wx886104/" target="_blank">鍕掔揣鐨甫鍚戝墠鍐?/a> 2008-09-05 11:00 <a href="http://www.tkk7.com/wx886104/archive/2008/09/05/227156.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title><logic:iterate>鐢ㄦ硶璇﹁В <杞?gt;http://www.tkk7.com/wx886104/archive/2008/09/02/226428.html鍕掔揣鐨甫鍚戝墠鍐?/dc:creator>鍕掔揣鐨甫鍚戝墠鍐?/author>Tue, 02 Sep 2008 08:44:00 GMThttp://www.tkk7.com/wx886104/archive/2008/09/02/226428.htmlhttp://www.tkk7.com/wx886104/comments/226428.htmlhttp://www.tkk7.com/wx886104/archive/2008/09/02/226428.html#Feedback0http://www.tkk7.com/wx886104/comments/commentRss/226428.htmlhttp://www.tkk7.com/wx886104/services/trackbacks/226428.htmlIterate涓昏鐢ㄦ潵澶勭悊鍦ㄩ〉闈笂杈撳嚭闆嗗悎綾伙紝闆嗗悎涓鑸潵璇存槸涓嬪垪涔嬩竴錛?br /> 1銆?nbsp;java瀵硅薄鐨勬暟緇?br />
2銆?nbsp;ArrayList銆乂ector銆丠ashMap絳?br />
鍏蜂綋鐢ㄦ硶璇峰弬鑰僺truts鏂囨。錛岃繖閲屼笉浣滆緇嗕粙緇?br />
鐜板湪瀹氫箟涓涓猚lass錛孶ser.java 鎶婂畠緙栬瘧鎴怳ser.class

package example;

import java.io.Serializable;
public final class User implements Serializable {
private String name = null;
private String password = null;

public String getName () {
return (this.name);
}

public void setName(String name) {
this.name = name;
}

public String getPassword () {
return (this. password);
}

public void setPassword (String password) {
this. password = password;
}

}

鐒跺悗鍦ㄤ竴涓猻truts webapplication涓垱寤轟竴涓猨sp錛屼緥濡俰terate.jsp

<%@ page language=”java” %>
<%@ page import=”example.*%>
<%@ taglib uri=/WEB-INF/struts-bean.tld” prefix=”bean” %>
<%@ taglib uri=/WEB-INF/struts-logic.tld” prefix=”logic” %>

<%
java.util.ArrayList list 
= new java.util.ArrayList();
User usera
=new User();
usera.setName(”white”);
usera.setPassword(”abcd”);
list.add(usera);
User userb
=new User();
userb.setName(”mary”);
userb.setPassword(”hijk”);
list.add(userb);
session.setAttribute(”list”, list);

%>

<html><body><table width=”100%”>

<logic:iterate id=”a” name=”list” type=” example.User “>

<tr><td width=”50%”>

name: 
<bean:write name=”a” property=”name”/>

<td/><td width=”50%”>

password: 
<bean:write name=”a” property=”password”/>

</td></tr>

</logic:iterate>

</table></body></html>
灝哢ser.class, iterate.jsp鏀懼埌鐩稿簲鐨勭洰褰曪紝榪愯iterate.jsp浣犲氨鍙互鐪嬪埌iterate鐨勬晥鏋滀簡

iterate鏍囪
id 鑴氭湰鍙橀噺鐨勫悕縐幫紝瀹冧繚瀛樼潃闆嗗悎涓綋鍓嶅厓绱犵殑鍙ユ焺銆?br /> name 浠h〃浜嗕綘闇瑕佸彔浠g殑闆嗗悎錛屾潵鑷猻ession鎴栬卹equest鐨勫睘鎬с?br /> type 鏄叾涓殑闆嗗悎綾誨厓绱犵殑綾誨瀷

bean鐨剋rite鏍囪鏄敤鏉ュ皢灞炴ц緭鍑虹殑錛宯ame鐢ㄦ潵鍖歸厤iterate鐨刬d錛宲roperty鐢ㄦ潵鍖歸厤鐩稿簲綾葷殑灞炴?br />
<logic:iterate>鐢ㄦ硶璇﹁В2

2007-04-04 20:34

<login:iterate>鏍囪鐢ㄤ簬鍦ㄩ〉闈腑鍒涘緩涓涓驚鐜?浠ユ鏉ラ亶鍘嗗鏁扮粍銆丆ollection銆丮ap榪欐牱鐨勫璞°傝鏍囪鐨勫姛鑳藉己澶э紝鍦⊿truts搴旂敤鐨勯〉闈腑緇忓父浣跨敤鍒般?br /> 1銆佸鏁扮粍榪涜寰幆閬嶅巻
浣跨敤
<logic:iterate>鏍囪鍙互鐢ㄤ簬閬嶅巻鏁扮粍錛屼互涓嬫槸涓孌電ず渚嬩唬鐮侊細

 

紼嬪簭浠g爜 紼嬪簭浠g爜

<%
String[] testArray={”str1″,”str2″,”str3″};
pageContext.setAttribute(”test”,testArray);
%>
<logic:iterate id=”show” name=”test”>
<bean:write name=”show”/>
</logic:iterate>
鍦ㄤ笂闈㈢殑浠g爜涓紝棣栧厛瀹氫箟浜嗕竴涓瓧絎︿覆鏁扮粍錛屽茍涓哄叾鍒濆鍖栥傛帴鐫錛屽皢璇ユ暟緇勫瓨鍏ageContext瀵硅薄涓紝鍛藉悕涓簍est1銆傜劧鍚庝嬌鐢?/span><logic:iterate>鏍囪鐨刵ame灞炴ф寚瀹氫簡璇ユ暟緇勶紝騫朵嬌鐢╥d鏉ュ紩鐢ㄥ畠錛屽悓鏃朵嬌鐢?/span><bean:write>鏍囪鏉ュ皢鍏舵樉紺哄嚭鏉ャ傚叾緇撴灉涓猴細
str1
str2
str3

鍙﹀錛岃繕鍙互閫氳繃length灞炴ф潵鎸囧畾杈撳嚭鍏冪礌鐨勪釜鏁般傚涓嬮潰鐨勪唬鐮侊細

 

紼嬪簭浠g爜 紼嬪簭浠g爜

<logic:iterate id=”show” name=”test” length=”2″ offset=”1″>
<bean:write name=”show”/>
</logic:iterate>
鍏朵腑length灞炴ф寚瀹氫簡杈撳嚭鍏冪礌鐨勪釜鏁幫紝offset灞炴ф寚瀹氫簡浠庣鍑犱釜鍏冪礌寮濮嬭緭鍑猴紝濡傛澶勪負1錛屽垯琛ㄧず浠庣浜屼釜鍏冪礌寮濮嬭緭鍑恒傛墍浠ヨ浠g爜鐨勮繍琛岀粨鏋滃簲褰撹緭鍑猴細
str2
str3

鍙﹀錛岃鏍囪榪樻湁涓涓猧ndexId灞炴э紝瀹冩寚瀹氫竴涓彉閲忓瓨鏀懼綋鍓嶉泦鍚堜腑姝h璁塊棶鐨勫厓绱犵殑搴忓彿錛屽錛?br />
 

紼嬪簭浠g爜 紼嬪簭浠g爜

<logic:iterate id=”show” name=”test” length=”2″ offset=”1″ indexId=”number”>
<bean:write name=”number”/>:<bean:write name=”show”/>
</logic:iterate>
鍏舵樉紺虹粨鏋滀負錛?br /> 1:str2
2:str3

2銆佸HashMap榪涜寰幆閬嶅巻

 

紼嬪簭浠g爜 紼嬪簭浠g爜

<%
HashMap countries
=new HashMap();
countries.put(”country1″,”涓浗”);
countries.put(”country2″,”緹庡浗”);
countries.put(”country3″,”鑻卞浗”);
countries.put(”country4″,”娉曞浗”);
countries.put(”country5″,”寰峰浗”);
pageContext.setAttribute(”countries”,countries);
%>
<logic:iterate id=”country” name=”countries”>
<bean:write name=”country” property=”key”/>:
<bean:write name=”country” property=”value”/>
</logic:iterate>
鍦╞ean:write涓氳繃property鐨刱ey鍜寁alue鍒嗗埆鑾峰緱HaspMap瀵硅薄鐨勯敭鍜屽箋傚叾鏄劇ず緇撴灉涓猴細
country5:寰峰浗
country3:鑻卞浗
country2:緹庡浗
country4:娉曞浗
country1:涓浗
鐢辯粨鏋滃彲鐪嬪嚭錛屽畠騫舵湭鎸夋坊鍔犵殑欏哄簭灝嗗叾鏄劇ず鍑烘潵銆傝繖鏄洜涓篐aspMap鏄棤搴忓瓨鏀劇殑銆?br />
3銆佸祵濂楅亶鍘?br />
 

紼嬪簭浠g爜 紼嬪簭浠g爜

<%
String[] colors={”red”,”green”,”blue”};
String[] countries1={”涓浗”,”緹庡浗”,”娉曞浗”};
String[] persons={”涔斾腹”,”甯冧粈”,”鍏嬫灄欏?#8221;};
ArrayList list2
=new ArrayList();
list2.add(colors);
list2.add(countries1);
list2.add(persons);
pageContext.setAttribute(”list2″,list2);
%>
<logic:iterate id=”first” name=”list2″ indexId=”numberfirst”>
<bean:write name=”numberfirst”/>
<logic:iterate id=”second” name=”first”>
<bean:write name=”second”/>
</logic:iterate>
<br>
</logic:iterate>
榪愯鏁堟灉錛?br /> 0 red green blue
1 涓浗 緹庡浗 娉曞浗
2 涔斾腹 甯冧粈 鍏嬫灄欏?br />

<logic:iterate id="myBean" indexId="ind" name="寰幆JavaBean鐨勫璞″悕縐?>

<bean:write name="myBean" property="Bean鐨勫睘鎬?>

  <!--寰幆Map-->
   <logic:iterate id="myHashMap" indexId="mapInd" name="myBean" property="hashMap鍚嶇О">
         <!--杈撳嚭hashMap鐨勯敭,涓嶉渶瑕佸彲浠ヤ笉鐢ㄨ繖琛?->
         <bean:write name="myHashMap" property="key">

         <!--杈撳嚭hashMap鐨勫?濡傛灉鍊兼槸涓暟緇勬垨鑰呭張涓涓狹AP浣犲彲浠ュ啀瀵逛粬寰幆-->
         <bean:write name="myHashMap" property="value">
   </logic:iterate>

<logic:iterate>



杞嚜 鍚洩妤?http://www.tingxuelou.com/index.php/archives/517



]]>
Struts縐樼睄涔嬬2孌碉細絎?.10寮?榪囨護鏂囨湰杈撳叆錛堣漿錛?/title><link>http://www.tkk7.com/wx886104/archive/2008/08/26/224457.html</link><dc:creator>鍕掔揣鐨甫鍚戝墠鍐?/dc:creator><author>鍕掔揣鐨甫鍚戝墠鍐?/author><pubDate>Tue, 26 Aug 2008 05:03:00 GMT</pubDate><guid>http://www.tkk7.com/wx886104/archive/2008/08/26/224457.html</guid><wfw:comment>http://www.tkk7.com/wx886104/comments/224457.html</wfw:comment><comments>http://www.tkk7.com/wx886104/archive/2008/08/26/224457.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/wx886104/comments/commentRss/224457.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/wx886104/services/trackbacks/224457.html</trackback:ping><description><![CDATA[杞嚜 http://www.tkk7.com/SteelHand/archive/2005/07/01/6974.html<br /> <br /> <div style="border: 1px solid #cccccc; padding: 4px 5px 4px 4px; background-color: #eeeeee; font-size: 13px; width: 98%;"><!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><span style="color: #000000;">絎?.10寮? 榪囨護鏂囨湰杈撳叆<br /> 闂<br /> <br /> 浣犳兂瑕佹覆鏌撳寘鍚獺TML鏍囪鐨勬暟鎹紝騫朵笖甯屾湜璇ユ暟鎹嫻忚鍣ㄥ綋浣淗TML鏍囪瑙i噴鍜屽鐞嗐?br /> 鍔ㄤ綔瑕?br /> <br /> 寰堢畝鍗曪紝鍙互浣跨敤錛?br /> </span><span style="color: #0000ff;"><</span><span style="color: #800000;">bean:write </span><span style="color: #ff0000;">name</span><span style="color: #0000ff;">="myForm"</span><span style="color: #ff0000;"> property</span><span style="color: #0000ff;">="freeText"</span><span style="color: #ff0000;"> filtered</span><span style="color: #0000ff;">="false"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> <br />  <br /> <br /> 鍦ㄤ嬌鐢↗STL鏃訛紝浣犱篃鍙互浣跨敤鏈繃婊ょ殑鍊鹼細<br /> </span><span style="color: #0000ff;"><</span><span style="color: #800000;">c:out </span><span style="color: #ff0000;">value</span><span style="color: #0000ff;">="${myForm.freeText}"</span><span style="color: #ff0000;"> escapeXml</span><span style="color: #0000ff;">="false"</span><span style="color: #0000ff;">/></span><span style="color: #000000;"><br /> <br />  <br /> 鍔ㄤ綔鍙樺寲<br /> <br /> 鍦ㄤ綘浣跨敤Struts bean:write 鏍囩鏉ヤ駭鐢熸枃鏈椂錛岄粯璁ゆ儏鍐典笅浠諱綍瀵笻TML澶勭悊鏁忔劅鐨勫瓧絎﹂兘瑕佽瀹冧滑鐨勫絳夊疄浣撲唬鏇褲備緥濡傦紝澶т簬鍙峰瓧絎?>) 灝嗚鏇夸唬涓?/span><span style="color: #ff0000;">&gt;</span><span style="color: #000000;">瀛楃瀹炰綋銆傝繖縐嶇壒寰佺О涓烘槸鍝嶅簲榪囨護錛?nbsp;response filtering錛夛紝榛樿鎯呭喌涓嬫槸嬋媧葷殑銆傚湪澶у鏁版儏鍐典笅錛岃繃婊ゆ鏄笇鏈涚殑琛屼負錛屽洜涓烘湭緇忚繃婊ょ殑鏂囨湰鍙兘琚祻瑙堝櫒璇В閲娿俆able 3-4 鍒楀嚭浜嗚bean:write鏍囩榪囨護鐨勫瓧絎﹀拰瀹冧滑鐨勫搴斿疄浣撱?br /> Table 3-4. 琚繃婊ょ殑瀛楃<br /> <br /> 瀛楃鍚嶇О<br />     <br /> <br /> 瀛楃鍊?br />     <br /> <br /> 鏇夸唬瀹炰綋<br /> <br /> 澶т簬<br />     <br /> <br /> </span><span style="color: #0000ff;"><</span><span style="color: #800000;"> <br />     <br /> <br /> &lt</span><span style="color: #ff0000;">;<br /> <br /> 灝忎簬<br />     <br /> <br /> </span><span style="color: #0000ff;">></span><span style="color: #000000;"> <br />     <br /> <br /> </span><span style="color: #ff0000;">&gt;</span><span style="color: #000000;"><br /> <br /> &絎﹀彿<br />     <br /> <br /> &<br />     <br /> <br /> </span><span style="color: #ff0000;">&amp;</span><span style="color: #000000;"><br /> <br /> 鍙屽紩鍙?br />     <br /> <br /> "<br />     <br /> <br /> </span><span style="color: #ff0000;">&quot;</span><span style="color: #000000;"><br /> <br /> 鍙嶆枩鏉?br />     <br /> <br /> \<br />     <br /> <br /> '<br /> <br />  <br /> <br /> 浣嗘槸鏈夋椂鍊欙紝浣犲笇鏈涜娓叉煋鐨勬枃鏈腑鍖呮嫭HTML 鏍囩銆傚亣璁句綘鏈変竴涓湪綰挎棩蹇楀簲鐢紝鍏佽鐢ㄦ埛杈撳叆灝嗚鏄劇ず鍦ㄤ竴涓〉闈腑鐨勬枃鏈傚厑璁鎬嬌鐢℉TML 鏍囩灝嗕嬌寰楃敤鎴峰彲浠ラ偅浜涘彲浠ユ牸寮忓寲鏂囨湰鐨勬爣璁般傛枃鏈腑鍙兘鍖呭惈瓚呴摼鎺ワ紝涓嶅悓鐨勫瓧浣擄紝浠ュ強鍥懼儚絳夌瓑銆傚湪鍏朵粬鎯呭艦涓嬶紝浣犵殑搴旂敤鍙兘鍙兘榪樹細浠庡叾浠栨潵婧愶紝姣斿鍙︿竴涓猆RL錛屼竴涓猉ML鏂囦歡錛屼竴涓猈eb Service鎴栬呮暟鎹簱涓紝鑾峰緱HTML妯℃澘鏂囨湰銆?br /> <br /> 閫氳繃灝哹ean:write鏍囩鐨刦iltered灞炴ц緗負false錛屼綘灝卞彲浠ュ憡璇塖truts鏍囩涓嶈浣跨敤鐩稿簲鐨勫疄浣撴浛鎹?nbsp;tag not to 鐗規畩瀛楃銆傞鍏堬紝鎴戜滑鏉ョ湅涓涓嬭繃婊ゆ槸濡備綍宸ヤ綔鐨勩傚亣璁句竴涓敤鎴峰湪琛ㄥ崟涓緭鍏ヤ簡涓嬮潰鐨勬枃鏈細<br /> Apache Struts Web Framework </span><span style="color: #0000ff;"><</span><span style="color: #800000;">b</span><span style="color: #0000ff;">></span><span style="color: #000000;">rocks</span><span style="color: #0000ff;"></</span><span style="color: #800000;">b</span><span style="color: #0000ff;">></span><span style="color: #000000;">!<br /> <br />  <br /> <br /> 鐜板湪榪欎釜鏂囨湰灝嗚bean:write鏍囩鏉ユ覆鏌撴樉紺恒傚綋filtered 灞炴ц鏂戒負true鏃訛紝鐗規畩瀛楃灝嗚鍏跺絳夌墿鏇挎崲錛岃繖鏍鋒枃鏈湅璧鋒潵灝變細鏄細<br /> Apache Struts Web Framework </span><span style="color: #ff0000;">&lt;</span><span style="color: #000000;">b</span><span style="color: #ff0000;">&gt;</span><span style="color: #000000;">rocks</span><span style="color: #ff0000;">&lt;</span><span style="color: #000000;">/b</span><span style="color: #ff0000;">&gt;</span><span style="color: #000000;">!<br /> <br /> 榪欏緢鏈夊彲鑳戒笉鏄敤鎴鋒墍鎯寵鐨勩備粬鎯寵鐨勬槸"Apache Struts Web Framework rocks!"銆備絾鏄紝鍥犱負鎰忓浘鏄兂瑕佸厑璁哥敤鎴瘋緭鍏ヨ楗版枃鏈殑HTML鏍囩錛岄偅涔堝皢filtered灞炴ц緗負false 灝變細寰楀埌姝g‘鐨勬覆鏌擄細<br /> Apache Struts Web Framework </span><span style="color: #0000ff;"><</span><span style="color: #800000;">b</span><span style="color: #0000ff;">></span><span style="color: #000000;">rocks</span><span style="color: #0000ff;"></</span><span style="color: #800000;">b</span><span style="color: #0000ff;">></span><span style="color: #000000;">!<br /> <br />  <br /> <br /> 嫻忚鍣ㄥ皢璁よ瘑榪欎釜鏍囩錛屽茍涓旀寜鍏舵墍鎰挎紜殑搴旂敤HTML 鏍囪銆?br /> <br /> 榪欏湪娓叉煋涓涓猈eb欏甸潰鏃跺紡涓涓湁鐢ㄧ殑鏈哄埗銆備絾鏄紝鍦ㄤ嬌鐢ㄨ繖涓柟娉曟椂蹇呴』瓚沖灝忓績銆傚鏋滄暟鎹槸娌℃湁榪囨護鐨勶紝閭d箞灝卞彲鑳戒細鍗卞強娓叉煋鍚庣殑 HTML欏甸潰鐨勫竷灞錛屾暣涓〉闈㈠彲鑳戒細鐪嬭搗鏉ラ伃鍒扮牬鍧忋備緥濡傦紝鍋囧畾涓嬮潰鐨勬枃鏈杈撳叆錛?br /> Apache Struts Web Framework </span><span style="color: #0000ff;"><</span><span style="color: #800000;">b</span><span style="color: #0000ff;">></span><span style="color: #000000;">rocks</span><span style="color: #0000ff;"><</span><span style="color: #800000;">b</span><span style="color: #0000ff;">></span><span style="color: #000000;">!<br /> <br />  <br /> <br /> 鍜嬬湅璧鋒潵錛岃繖娌′粈涔堥棶棰樸備絾鏄紝娉ㄦ剰鍒癰鍏冪礌鐨勫悗闈竴涓叧闂爣絳劇殑鏂滄潬緙哄け浜嗐傝繖涓敊璇緢瀹規槗鍙戠敓錛岃屼笖榪欏彲鑳戒細浣垮緱欏甸潰涓悗闈㈢殑鎵鏈夋枃鏈兘鏄矖浣撱?br /> <br /> 涓嶅垢鐨勬槸錛岃閬垮厤榪欑被閿欒鏄緢鍥伴毦鐨勩傛渶濂借繕鏄瘯鍥劇‘淇濊緭鍏ョ殑鏁版嵁閮芥槸姝g‘鏈夋晥鐨凥TML銆傝繕鏈変釜閫夋嫨灝辨槸閫氳繃XML 瑙f瀽鍣ㄦ潵澶勭悊杈撳嚭銆傚畠浼氭嫻嬭濡傛爣璁頒笉鍖歸厤涔嬬被鐨勯棶棰樸備綘榪樺彲浠ラ氳繃涓浜涜兘澶熻瘯鍥劇籂姝i棶棰樼殑瑙f瀽鍣ㄦ潵瀹屾垚錛屾瘮濡侸tidy銆傛渶鍚庯紝濡傛灉鏁版嵁鏄潵鑷簬闈炲彈鎺х殑鏉ユ簮錛屼綘鍙互閫夋嫨瀹屽叏涓嶅厑璁窰TML銆傚鏋滀綘榪樻兂浣跨敤涓浜涙枃鏈楗板姛鑳界殑璇濓紝榪樺彲浠ヨ冭檻浣跨敤WikiText 鎴栬匲BB Code涔嬬被鐨勬牸寮忚〃紺烘潵鏇夸唬銆?br /> 鐩稿叧鍔ㄤ綔<br /> <br /> JTidy 鎻愪緵浜嗕竴涓懡浠よ鎺ュ彛鍜孞ava API 鏉ヨВ鏋愬拰鏁寸悊HTML銆傚叧浜嶫Tidy 鐨勭粏鑺傝璁塊棶http://jtidy.sourceforge.net銆?br /> <br /> UBBCode 鏄疨HP鏈韓鏀寔鐨勪竴縐嶆爣璁版牸寮忋備篃鍙互鍦↗ava涓鐞哢BBCode銆備竴涓В鏋怳BBCode 鐨凱HP鍑芥暟錛屾湁浜哄湪Java涓噸鍐欎簡錛屽湴鍧鍙錛歨ttp://www.firegemsoftware.com/other/tutorials/ubb.php.</span></div> <br /> <img src ="http://www.tkk7.com/wx886104/aggbug/224457.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/wx886104/" target="_blank">鍕掔揣鐨甫鍚戝墠鍐?/a> 2008-08-26 13:03 <a href="http://www.tkk7.com/wx886104/archive/2008/08/26/224457.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://199291.com" target="_blank">亚洲黄色在线视频</a>| <a href="http://wwwaa875.com" target="_blank">中文字幕亚洲图片</a>| <a href="http://18yinren.com" target="_blank">亚洲av无码专区在线电影天堂</a>| <a href="http://wwwfafa98.com" target="_blank">女人被男人躁的女爽免费视频</a>| <a href="http://shaiyahx.com" target="_blank">亚洲风情亚Aⅴ在线发布</a>| <a href="http://225ck.com" target="_blank">国产午夜无码视频免费网站</a>| <a href="http://54vpn.com" target="_blank">无遮挡a级毛片免费看</a>| <a href="http://lkzrgy.com" target="_blank">亚洲精品乱码久久久久久中文字幕 </a>| <a href="http://89895cc.com" target="_blank">亚洲av成人一区二区三区在线观看</a>| <a href="http://sds54.com" target="_blank">日韩精品免费一线在线观看 </a>| <a href="http://eeussdd.com" target="_blank">亚洲精品高清在线</a>| <a href="http://hkcp168.com" target="_blank">日韩免费高清大片在线 </a>| <a href="http://126cm.com" target="_blank">成人免费激情视频</a>| <a href="http://cfxzp.com" target="_blank">www一区二区www免费</a>| <a href="http://cdhxfj.com" target="_blank">亚洲AV无码一区二区三区人</a>| <a href="http://www-333346.com" target="_blank">免费一看一级毛片人</a>| <a href="http://zanyoo.com" target="_blank">亚欧人成精品免费观看</a>| <a href="http://bomilon.com" target="_blank">caoporn国产精品免费</a>| <a href="http://0595laser.com" target="_blank">亚洲va成无码人在线观看</a>| <a href="http://yg1617.com" target="_blank">亚洲自偷自偷在线制服</a>| <a href="http://sxgzjssb.com" target="_blank">女性无套免费网站在线看</a>| <a href="http://33eaa.com" target="_blank">久久久久国色av免费看</a>| <a href="http://nn227.com" target="_blank">人人公开免费超级碰碰碰视频 </a>| <a href="http://www431234.com" target="_blank">国外亚洲成AV人片在线观看</a>| <a href="http://html5text.com" target="_blank">噼里啪啦电影在线观看免费高清</a>| <a href="http://www4jbd.com" target="_blank">你是我的城池营垒免费看 </a>| <a href="http://slmlxg.com" target="_blank">亚洲国产精品无码av</a>| <a href="http://8mav958.com" target="_blank">亚洲福利中文字幕在线网址</a>| <a href="http://kph37.com" target="_blank">免费人成在线视频</a>| <a href="http://szjmlr.com" target="_blank">五月婷婷综合免费</a>| <a href="http://228609.com" target="_blank">日韩插啊免费视频在线观看</a>| <a href="http://nibayuan.com" target="_blank">国产福利免费视频</a>| <a href="http://takiku.com" target="_blank">精品国产污污免费网站入口</a>| <a href="http://34jjjj.com" target="_blank">男女一进一出抽搐免费视频 </a>| <a href="http://33dh2.com" target="_blank">亚洲美女色在线欧洲美女</a>| <a href="http://ksyy888.com" target="_blank">国产在线观看免费不卡</a>| <a href="http://mironpress.com" target="_blank">国产日韩久久免费影院</a>| <a href="http://rr7733.com" target="_blank">亚洲日本视频在线观看</a>| <a href="http://bjlfggcm.com" target="_blank">亚洲AV无码成人精品区天堂 </a>| <a href="http://rj150.com" target="_blank">日韩色日韩视频亚洲网站</a>| <a href="http://8xjr.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>