兩畝三分地

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            17 隨筆 :: 20 文章 :: 2 評(píng)論 :: 0 Trackbacks
          ActionForm Bean在Struts里用來保存網(wǎng)頁request傳遞之間的數(shù)據(jù)。比如我們現(xiàn)在寫的NewForm Bean用來收集表格內(nèi)的信息,
          類似于servlet的request.getParamenter()的作用;當(dāng)用戶提交以后,數(shù)據(jù)將保存在bean內(nèi),然后再做處理。
          1. 點(diǎn)擊Source Packages > com.bbs.struts,右鍵New > Java Package... 創(chuàng)建一個(gè)com.bbs.struts.form的package用于存放
            所有form;

          2. 右鍵com.bbs.struts.form, New > Struts ActionForm Bean...如果New菜單里沒有的話,選擇other...,categories里選擇
            Struts,F(xiàn)ile types一欄里選擇Struts ActionForm Bean...;

          3. 為這個(gè)ActionForm取名叫NewForm,然后按Finish完成。
            IDE將創(chuàng)建一個(gè)NewForm bean,并在右邊的Source Editor里面打開它。默認(rèn)的話,IDE將創(chuàng)造2個(gè)一個(gè)String型的name和int型的number,2個(gè)屬性;并且定義了它們的accessor方法。另外IDE將在struts-config.xml里面,添加對(duì)這個(gè)bean的聲明;
            <form-beans>
                    
            <form-bean name="NewForm" type="com.bbs.struts.form.NewForm"/>
            </form-beans>

          4. 在Source Editor里面,將原來的name,number字段刪除,并刪除與之相關(guān)的accessor方法。然后為NewForm添加以下字段,這些字段與之前的post.jsp所用到的字段一一對(duì)應(yīng)。
                private String name;
                
            private String subject;
                
            private String content;
                
            private String url;
                
            private String email;
                
            private int iconId;
                
            private String password;
                
            private String font;

                
            private List icons;
                
            private String result;
            利用insert code...功能,添加相應(yīng)的accessor方法。

          5. 考慮到因?yàn)閳D標(biāo)的列其實(shí)在生成這個(gè)網(wǎng)頁的時(shí)候就自動(dòng)添加的,所以在這個(gè)ActionForm bean的Constructor的方法里面,就要處理icon了,還有就是對(duì)字色,網(wǎng)絡(luò)鏈接做一下預(yù)處理:
                public NewForm() {
                    
            super();
                    
            // TODO Auto-generated constructor stub
                    setUrl("http://");
                    setFont(
            "#800000");
                    String sql 
            = "select id,name,src from icon order by id";
                    QueryRunner qr 
            = DbHelper.getQueryRunner();
                    List list 
            = null;
                    
            try {
                        list 
            = (List) qr.query(sql, new BeanListHandler(Icon.class));
                        
            // TODO Auto-generated constructor stub
                    } catch (SQLException ex) {
                        Logger.getLogger(NewForm.
            class.getName()).log(Level.SEVERE, null, ex);
                    }
                    setIcons(list);
                }

          6. 同樣在validate方法里,添加對(duì)subject驗(yàn)證,如果subject為空的話,改名“無題”。
               public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
                    ActionErrors errors 
            = new ActionErrors();

                    
            if (getSubject() == null || getSubject().length() < 1) {
                        setSubject(
            "無題");
                    }
                    
            return errors;
                }

          7. 第一個(gè)ActionForm Bean就完成了。

          posted on 2009-10-22 23:15 Chucky 閱讀(234) 評(píng)論(0)  編輯  收藏 所屬分類: BBS Struts項(xiàng)目
          主站蜘蛛池模板: 迭部县| 锡林郭勒盟| 海安县| 洪江市| 昌乐县| 大名县| 柏乡县| 黄浦区| 茂名市| 雷波县| 苗栗县| 新平| 桦川县| 明星| 德令哈市| 循化| 呼伦贝尔市| 灵山县| 固镇县| 沙河市| 家居| 阳江市| 蓬莱市| 宣武区| 保山市| 三亚市| 中阳县| 嘉义市| 阳谷县| 城步| 靖边县| 尤溪县| 天镇县| 沂南县| 广宗县| 收藏| 且末县| 凌海市| 石城县| 通城县| 定陶县|