<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    love fish大鵬一曰同風起,扶搖直上九萬里

    常用鏈接

    統計

    積分與排名

    friends

    link

    最新評論

    Struts ActionForm的優化寫法(轉)

    要點:
      在ActionForm定義值對象company,定義Setter/Getter方法;
      在JSP里對input元素的名稱稍加變化,加company前綴,company.cp_name。
      Struts能把company.cp_name的值自動地Populate到對象company,填充cp_name屬性。

    效果:
      簡化ActionForm對屬性的定義,實際上系統只需要保留ValueObject和PersistObject兩類對象。
      本質上是借用值對象ValueObject作為ActionForm的傳值對象。
     
    變化:
      當頁面元素來自不同類值對象時,例如Company,Bulletin等,分別寫不同的前綴,company.cp_name,bulletin.bl_title。
      對于不屬于任何值對象的元素,照基本寫法寫。

    ===
    示例代碼

    ** 傳統寫法:
    //CompanyForm.java

    package com.ticket.company.actionform;
    import javax.servlet.http.*;
    import org.apache.struts.action.*;
    import com.ticket.entity.company.*;

    public class CompanyForm
        
    extends ActionForm {

        
    private String cp_name;            //名稱
        private String cp_phone;           //電話
        private String cp_fax;             //傳真

        
    public String getCp_name() {
            
    return cp_name;
        }


        
    public void setCp_name(String cp_name) {
            
    this.cp_name = cp_name;
        }


        
    public String getCp_phone() {
            
    return cp_phone;
        }


        
    public void setCp_phone(String cp_phone) {
            
    this.cp_phone = cp_phone;
        }


        
    public String getCp_fax() {
            
    return cp_fax;
        }


        
    public void setCp_fax(String cp_fax) {
            
    this.cp_fax = cp_fax;
        }


        
    //其他代碼
    }


    ** 優化寫法:

    //CompanyForm.java

    package com.ticket.company.actionform;

    import javax.servlet.http.*;
    import org.apache.struts.action.*;
    import com.ticket.entity.company.*;

    public class CompanyForm
        
    extends ActionForm {

        
    public Company company = new Company();

        
    public Company getCompany() {
            
    return company;
        }


        
    public void setCompany(Company company) {
            
    this.company = company;
        }


        
    //其他代碼
    }


    //company_add.jsp

    要點:
      在ActionForm定義值對象company,定義Setter/Getter方法;
      在JSP里對input元素的名稱稍加變化,加company前綴,company.cp_name。
      Struts能把company.cp_name的值自動地Populate到對象company,填充cp_name屬性。

    效果:
      簡化ActionForm對屬性的定義,實際上系統只需要保留ValueObject和PersistObject兩類對象。
      本質上是借用值對象ValueObject作為ActionForm的傳值對象。
     
    變化:
      當頁面元素來自不同類值對象時,例如Company,Bulletin等,分別寫不同的前綴,company.cp_name,bulletin.bl_title。
      對于不屬于任何值對象的元素,照基本寫法寫。

    ===
    示例代碼

    ** 傳統寫法:
    //CompanyForm.java

    package com.ticket.company.actionform;
    import javax.servlet.http.*;
    import org.apache.struts.action.*;
    import com.ticket.entity.company.*;

    public class CompanyForm
        
    extends ActionForm {

        
    private String cp_name;            //名稱
        private String cp_phone;           //電話
        private String cp_fax;             //傳真

        
    public String getCp_name() {
            
    return cp_name;
        }


        
    public void setCp_name(String cp_name) {
            
    this.cp_name = cp_name;
        }


        
    public String getCp_phone() {
            
    return cp_phone;
        }


        
    public void setCp_phone(String cp_phone) {
            
    this.cp_phone = cp_phone;
        }


        
    public String getCp_fax() {
            
    return cp_fax;
        }


        
    public void setCp_fax(String cp_fax) {
            
    this.cp_fax = cp_fax;
        }


        
    //其他代碼
    }


    ** 優化寫法:

    //CompanyForm.java

    package com.ticket.company.actionform;

    import javax.servlet.http.*;
    import org.apache.struts.action.*;
    import com.ticket.entity.company.*;

    public class CompanyForm
        
    extends ActionForm {

        
    public Company company = new Company();

        
    public Company getCompany() {
            
    return company;
        }


        
    public void setCompany(Company company) {
            
    this.company = company;
        }


        
    //其他代碼
    }


    //company_add.jsp

    <form action="companyAdmin.do?action=addConfirm&forward=listAllLevel1" method="post" name="myForm" > 
        
    <tr> 
            
    <td height="23" align="right"  class="bg2">單位名稱: </td>
            
    <td width="85%">
                
    <input name="company.cp_name" type="text" maxlength="25" size="50" height="16">
                
    <font color="#FF0000">*</font>
            
    </td>
        
    </tr>
        
    <tr>
            
    <td height="23" align="right"  class="bg2">電  話:</td>
            
    <td width="85%">
                
    <input name="company.cp_phone" type="text" maxlength="20" size="30" height="16">
            
    </td>
        
    </tr>
        
    <tr>
            
    <td height="23" align="right"  class="bg2">傳  真:</td>
            
    <td width="85%">
                
    <input name="company.cp_fax" type="text" maxlength="20" size="30" height="16">
               
    </td>
        
    </tr>
    </form>

     


     

    posted on 2007-05-16 14:25 liaojiyong 閱讀(4068) 評論(4)  編輯  收藏 所屬分類: Struts

    評論

    # re: Struts ActionForm的優化寫法(轉)[未登錄] 2008-06-30 12:00 jack

    博主太厲害了,我正在為此發愁呢  回復  更多評論   

    # re: Struts ActionForm的優化寫法(轉) 2008-11-30 21:40 shuiguo639

    所謂的“優化”,是指使用form時可以根據需要來調用company類的屬性。這樣的優化對于有大量屬性的而又被頻繁調用的類來講的確不錯。  回復  更多評論   

    # re: Struts ActionForm的優化寫法(轉)[未登錄] 2009-06-10 09:19 小生

    不是還要多寫一個Company類  回復  更多評論   

    # re: Struts ActionForm的優化寫法(轉) 2010-12-20 10:18 路人

    對我有幫組 謝謝  回復  更多評論   

    主站蜘蛛池模板: 全免费一级毛片在线播放| h在线看免费视频网站男男| 亚洲人成人77777网站不卡| 精品亚洲成AV人在线观看| 亚洲视频在线观看一区| 亚洲国产精品乱码一区二区| 亚洲国产精品无码专区影院| 亚洲精品卡2卡3卡4卡5卡区| 亚洲国产成人一区二区精品区 | 久久久亚洲精华液精华液精华液| 亚洲AV无码国产精品色| 亚洲av永久无码嘿嘿嘿| 亚洲色偷偷色噜噜狠狠99| 亚洲午夜理论片在线观看| 亚洲AV无码国产剧情| 黄色三级三级三级免费看| 一区二区三区在线观看免费| 久久免费99精品国产自在现线| 成全视成人免费观看在线看| 中国一级毛片视频免费看| 性色午夜视频免费男人的天堂| 18禁止看的免费污网站| 国产精品久久久久久久久久免费 | 一区二区三区在线免费看| 7m凹凸精品分类大全免费| 免费在线视频你懂的| 成人免费无码大片a毛片| 免费在线观看中文字幕| 亚洲一区二区三区香蕉| 亚洲五月六月丁香激情| 亚洲精品456人成在线| 国产亚洲午夜精品| 黄色视屏在线免费播放| 永久免费视频网站在线观看| 毛片基地免费视频a| 亚洲黄黄黄网站在线观看| 国产亚洲福利精品一区| 激情综合亚洲色婷婷五月| 美女裸免费观看网站| 免费国产成人午夜在线观看| 久久久久久国产a免费观看黄色大片|