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

          常用鏈接

          統(tǒng)計(jì)

          積分與排名

          friends

          link

          最新評論

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

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

          效果:
            簡化ActionForm對屬性的定義,實(shí)際上系統(tǒng)只需要保留ValueObject和PersistObject兩類對象。
            本質(zhì)上是借用值對象ValueObject作為ActionForm的傳值對象。
           
          變化:
            當(dāng)頁面元素來自不同類值對象時(shí),例如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

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

          效果:
            簡化ActionForm對屬性的定義,實(shí)際上系統(tǒng)只需要保留ValueObject和PersistObject兩類對象。
            本質(zhì)上是借用值對象ValueObject作為ActionForm的傳值對象。
           
          變化:
            當(dāng)頁面元素來自不同類值對象時(shí),例如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時(shí)可以根據(jù)需要來調(diào)用company類的屬性。這樣的優(yōu)化對于有大量屬性的而又被頻繁調(diào)用的類來講的確不錯(cuò)。  回復(fù)  更多評論   

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

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

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

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

          主站蜘蛛池模板: 株洲县| 天等县| 武宁县| 四子王旗| 宁晋县| 南皮县| 甘孜县| 龙江县| 江都市| 壤塘县| 灵台县| 深州市| 天长市| 清涧县| 禄丰县| 冕宁县| 长垣县| 上思县| 青海省| 南陵县| 镶黄旗| 睢宁县| 河北省| 千阳县| 营山县| 泗阳县| 永仁县| 洪泽县| 且末县| 老河口市| 鄂伦春自治旗| 威宁| 开封市| 民和| 绍兴县| 红河县| 深州市| 肇州县| 沅江市| 新乐市| 武乡县|