<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 路人

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

    主站蜘蛛池模板: 亚洲毛片免费观看| 亚洲尹人香蕉网在线视颅| 亚洲av永久综合在线观看尤物| 中文字幕无线码中文字幕免费| 亚洲AV无码成人精品区大在线| 亚洲中文无码mv| 日本免费网站观看| 亚洲第一成年免费网站| 国产婷婷高清在线观看免费| 色欲aⅴ亚洲情无码AV蜜桃 | 啦啦啦完整版免费视频在线观看 | 亚洲国产精品自在线一区二区 | 亚洲va在线va天堂va手机| 国产精品成人免费福利| 亚洲AV无码一区二区三区牛牛| 成年轻人网站色免费看| 色偷偷亚洲第一综合网| 亚洲综合久久夜AV | 日本一区午夜艳熟免费| 亚洲第一永久在线观看| 午夜高清免费在线观看| 五级黄18以上免费看| 久久久影院亚洲精品| 成人特黄a级毛片免费视频| 国产亚洲一卡2卡3卡4卡新区| 免费大片黄手机在线观看| 巨胸喷奶水www永久免费| 久久精品国产精品亚洲毛片| www.999精品视频观看免费| 羞羞网站免费观看| 亚洲av无码专区在线播放| 日韩在线免费视频| 国产乱妇高清无乱码免费| 亚洲视频一区网站| 免费中文字幕一级毛片| 国产精品免费大片| 久久无码av亚洲精品色午夜| 亚洲乱码精品久久久久..| 成人性生交大片免费看无遮挡| 巨胸喷奶水www永久免费| 亚洲天堂男人影院|