love fish大鵬一曰同風(fēng)起,扶搖直上九萬里

          常用鏈接

          統(tǒng)計

          積分與排名

          friends

          link

          最新評論

          Struts ActionForm的優(yōu)化寫法(轉(zhuǎn))

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

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

          ===
          示例代碼

          ** 傳統(tǒng)寫法:
          //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;
              }


              
          //其他代碼
          }


          ** 優(yōu)化寫法:

          //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對屬性的定義,實際上系統(tǒng)只需要保留ValueObject和PersistObject兩類對象。
            本質(zhì)上是借用值對象ValueObject作為ActionForm的傳值對象。
           
          變化:
            當(dāng)頁面元素來自不同類值對象時,例如Company,Bulletin等,分別寫不同的前綴,company.cp_name,bulletin.bl_title。
            對于不屬于任何值對象的元素,照基本寫法寫。

          ===
          示例代碼

          ** 傳統(tǒng)寫法:
          //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;
              }


              
          //其他代碼
          }


          ** 優(yōu)化寫法:

          //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 閱讀(4075) 評論(4)  編輯  收藏 所屬分類: Struts

          評論

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

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

          # re: Struts ActionForm的優(yōu)化寫法(轉(zhuǎn)) 2008-11-30 21:40 shuiguo639

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

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

          不是還要多寫一個Company類  回復(fù)  更多評論   

          # re: Struts ActionForm的優(yōu)化寫法(轉(zhuǎn)) 2010-12-20 10:18 路人

          對我有幫組 謝謝  回復(fù)  更多評論   

          主站蜘蛛池模板: 巴林右旗| 柞水县| 潮安县| 于都县| 乌审旗| 绥中县| 海口市| 汶川县| 颍上县| 广安市| 米脂县| 宁陕县| 库尔勒市| 安塞县| 晋宁县| 余庆县| 湖南省| 炎陵县| 乌兰浩特市| 安塞县| 平顶山市| 济源市| 阜城县| 宁强县| 龙口市| 黄大仙区| 宁南县| 乌海市| 合水县| 林州市| 出国| 海南省| 疏附县| 仪征市| 雷山县| 奎屯市| 沿河| 安西县| 吐鲁番市| 郯城县| 固始县|