隨筆-54  評論-0  文章-2  trackbacks-0

               昨天把表單定義的映射文件做完了,今天依然是相當重要的,做的是單向表單實例映射,首先表單實例映射文件。

          難點1map的配置:

          <map name="propertyMap" table="itcast_formInstance_propertyMap">

                    <key column="formInstanceId"></key>

                    <map-key type="string" column="name"></map-key>

                     <element type="serializable" column="value"></element>

                 </map>

          為什么要實現serializable,所有的數據都是以二進制形式存在,所有的對象理論上都可以序列化,但是有些對象序列 化后會產生比如邏輯等等問題。在這里我們希望服務器重啟后,仍然保存有我想要的對象,也就是可以把原來的對象拿出來!就要實現序列化 ,同學的序列化解釋:

          我們有時候將一個java對象變成字節流的形式傳出去或者從一個字節流中恢復成一個java對象,例如,要將java對象存儲到硬盤或者傳送給網絡上 的其他計算機,這個過程我們可以自己寫代碼去把一個java對象變成某個格式的字節流再傳 輸,但是,jre本身就提供了這種支持,我們可以調用OutputStreamwriteObject方法來做,如果要讓java幫我們做,要傳輸的對象必須實現serializable接口,這樣,javac編譯時就會特殊處理。             

          2是定義FormDefinitionActionForm。由于表單字段可以增加,如圖:

          我們用兩個數組存放

           private String   propertyNameList = {};

           private Class[] propertyValueTypeList = {};

          3.那我們就在FormDefinitionAction

          可以這樣處理:

                        // actionForm --> formDefinition

                        // 1, copy properties

                        BeanUtils.copyProperties(formDefinition, actionForm);

                        // 2, fieldDefinitionList

                        for (int i = 0; i < actionForm.getPropertyNameList().length; i++) {

                               String name = actionForm.getPropertyNameList()[i];

                               if (name != null && name.trim().length() > 0) { // 有效的字段說明

                                      Class valueType = actionForm.getPropertyValueTypeList()[i];

                                      formDefinition.getFieldDefinitionList().put(name, valueType);

                               }

                        }

                        // Save

                        formDefinitionService.save(formDefinition);

                        return mapping.findForward("toList");)

          小難點3.要把不同的表單定義名稱顯示到頁面

           Sql語句:select distinct pd.name ProcessDefinition的全類名pd

          小難點4.頁面設計

          難點5.審批信息內容:誰 什么時間 對哪個表單 做了什么樣的審批

          難點6.整個實體類圖及關聯

               

          最重要的還是下圖的關系:要理解好


           

          總之,今天下午聽的暈乎暈乎的,趁過年還得好好復習一下!

              


          posted on 2010-02-09 00:12 d66380022 閱讀(123) 評論(0)  編輯  收藏
          主站蜘蛛池模板: 和静县| 蛟河市| 通化市| 綦江县| 诸暨市| 措勤县| 陵川县| 杨浦区| 乐业县| 德昌县| 温泉县| 高阳县| 新巴尔虎右旗| 汾西县| 图木舒克市| 道真| 梓潼县| 南平市| 大同县| 安图县| 台南县| 清镇市| 丰城市| 额敏县| 驻马店市| 安泽县| 拉萨市| 松原市| 克拉玛依市| 浪卡子县| 珠海市| 同仁县| 准格尔旗| 正阳县| 开江县| 江川县| 临泽县| 伊吾县| 天津市| 吉首市| 浦北县|