專利名稱:一種Eclipse基于布局模版的表單設(shè)計器的實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息技術(shù)領(lǐng)域,特別是Eclipse插件GEF表單設(shè)計器的實現(xiàn)。
背景技術(shù):
表單代碼生成技術(shù)是Web應(yīng)用開發(fā)中的常見技木。在工作流、業(yè)務(wù)開發(fā)環(huán)境等項目中,更是ー個關(guān)鍵的組件。表單設(shè)計器,一般可以分為兩種類型,HTML在線編輯器,IDE表單設(shè)計器。獨立管理頁面資源的使用場景下面,可以采用HTML編輯器,但更多的應(yīng)用場合,需要跟后臺的代碼進行交互引用,所以在IDE中集成表單設(shè)計器,有更為廣泛的使用價值。由于Eclipse靈活的GEF插件框架,使得在J2EE集成開發(fā)環(huán)境中構(gòu)建企業(yè)自主的 表單設(shè)計器成為可能。然而傳統(tǒng)的基于表格布局和表單布局的設(shè)計方式,較難解決嵌套的布局問題以及表單控件的樣式問題。本發(fā)明通過定義布局模版的方式,簡化了嵌套布局的代碼生成問題,通過自定義標(biāo)簽技術(shù)解決所見即所得的樣式問題;同時,在代碼生成方面,也提供了一種簡易的布局算法,使得在表單上面增刪元素時的代碼生成更為智能。
發(fā)明內(nèi)容
本發(fā)明公開了ー種Eclipse基于布局模版的表單設(shè)計器的實現(xiàn)方法。通過定義布局模版的方式,簡化了表單設(shè)計器中嵌套布局的代碼生成問題;同時,在代碼生成方面,提供了一種簡易的布局算法,使得在表單上面增刪元素時的代碼生成更為智能。為實現(xiàn)上述發(fā)明目的,本發(fā)明提供ー套自定義標(biāo)簽。包括常用的Windows表單控件的標(biāo)簽,如單行文本框、多行文本框、下拉選框、單選框、復(fù)選框等;同時也包括Grid、Window等容器標(biāo)簽。標(biāo)簽的屬性,設(shè)計有Plugin屬性,用作記錄Model在插件圖形設(shè)計器的位置信息(X,Y,Width,Height),方便重新加載頁面時,標(biāo)簽元素的位置還原,構(gòu)造成相應(yīng)的Model,生成Model的位置屬性。這樣設(shè)計和瀏覽頁面可以使用同一個源文件。標(biāo)簽的屬性,通過TLD文件映射到GEF的Model屬性,在GEF的MVC框架中,通過事件監(jiān)聽的方式,觸發(fā)屬性修改事件,同步插件中圖形和代碼編輯器中控件的相應(yīng)屬性值。本發(fā)明還提供了多種布局模版。布局模版的框架結(jié)構(gòu)分為3層模版層、窗ロ層、控件層。模版層為最頂層,是窗ロ層的容器,窗ロ層是控件層的容器。新建表單頁面時,可以選擇插件內(nèi)置的模版樣式,自動生成對應(yīng)的模版頁面代碼;窗ロ層為模版子窗ロ,這層支持Grid布局,表單控件可以任意拖放至窗ロ區(qū)域內(nèi),只要位于窗ロ行列表格背景的単元格內(nèi),即可通過代碼生成器生成窗ロ層的控件標(biāo)簽代碼,嵌套進模版層生成代碼當(dāng)中,完成整個頁面的代碼生成??丶拥拇a,對應(yīng)表單控件,設(shè)計樣式對應(yīng)JSP標(biāo)簽樣式,達到所見即所得的效果。本發(fā)明還提供頁面代碼生成器插件。代碼生成通過Velocity模版引擎實現(xiàn)。模版、窗ロ、控件層的代碼均定義了自己的模版文件。通過GEF的Model輸入,控制頁面代碼的生成。
本發(fā)明還提供布局切換功能。布局切換指,在窗ロ層可以動態(tài)選擇修改窗ロ的布局樣式,支持表格列數(shù)設(shè)置、背景設(shè)置、行高設(shè)計。布局切換之后,通過代碼生成器重新生成代碼,該窗ロ區(qū)域內(nèi)的控件代碼,自動填寫進新的窗ロ布局単元格內(nèi);本發(fā)明還提供自定義模塊擴展。模版與窗ロ容器在設(shè)計器視圖中的顯示和源代碼視圖中的顯示內(nèi)容,都由資源配置文件進行控制。所以,新增樣式可以通過添加新的模版資源文件進行擴展。擴展的模版窗ロ的樣式,采用統(tǒng)一的界面風(fēng)格。由上述方案可以看出,本發(fā)明中通過自定義標(biāo)簽確定設(shè)計器控件的樣式;通過布局代碼模版生成嵌套窗ロ布局;通過在窗口內(nèi)表格排序算法生成子窗ロ布局代碼的方式,集合填充到模版窗ロ代碼框的方式,完成整個頁面的代碼生成,設(shè)計者,只需要調(diào)整模版的窗ロ大小,往子窗ロ中拖放入控件的方式,就可以完成復(fù)雜布局的表單設(shè)計和代碼生成,操作簡便?!?br>
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單的介紹。圖I為本發(fā)明實施例中系統(tǒng)結(jié)構(gòu)示意具體實施例方式為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式
對本發(fā)明作進ー步的說明。實施例一,參見圖I。本發(fā)明提供一種基于布局模版的表單設(shè)計器的實現(xiàn),其開發(fā)實施過程如下I)通過向?qū)ы撁?,選擇表單設(shè)計時使用的布局模版,向?qū)ы撁嫣峁┝瞬季帜0嫘Ч麍D的參數(shù)圖例,方便用戶進行選擇。2)選擇完布局模版之后,系統(tǒng)自動完成設(shè)計視圖的布局樣式,構(gòu)建GEF模型,井生成源代碼視圖的布局模版代碼。3)用戶可以拖拉調(diào)整布局子窗ロ大小,適合布放窗口內(nèi)控件。4)拖放各表單控件兀素到各子窗ロ的表格布局單兀格內(nèi),設(shè)置控件屬性。5)保存修改。此時可切換到源代碼視圖查看生成后的html代碼。6)啟動Tomcat服務(wù)器,插件設(shè)計器切換到預(yù)覽視圖,查看顯示效果。由上述方案可以看出,本發(fā)明中通過自定義標(biāo)簽確定設(shè)計器控件的樣式;通過布局代碼模版生成嵌套窗ロ布局;通過在窗口內(nèi)表格排序算法生成子窗ロ布局代碼的方式,集合填充到模版窗ロ代碼框的方式,完成整個頁面的代碼生成,設(shè)計者,只需要調(diào)整模版的窗ロ大小,往子窗ロ中拖放入控件的方式,就可以完成復(fù)雜布局的表單設(shè)計和代碼生成,操作簡便。
權(quán)利要求
1.自定義標(biāo)簽樣式,包括常用的Windows表單控件的標(biāo)簽,如單行文本框、多行文本框、下拉選框、單選框、復(fù)選框等;同時也包括Grid、Window等容器標(biāo)簽; 標(biāo)簽的屬性,設(shè)計有Plugin屬性,用作記錄Model在插件圖形設(shè)計器的位置信息(X,Y,Width, Height),方便重新加載頁面時,標(biāo)簽元素的位置還原,構(gòu)造相應(yīng)的Model,生成Model的位置屬性。這樣設(shè)計和瀏覽頁面可以使用同一個源代碼文件。
2.布局模版,布局模版的框架結(jié)構(gòu)分為3層模版層、窗ロ層、控件層。模版層為最頂層,是窗ロ層的容器,窗ロ層是控件層的容器; 新建表單頁面時,可以選擇插件內(nèi)置的模版樣式,自動生成對應(yīng)的模版頁面代碼;窗ロ層為模版子區(qū)域,這層支持Grid布局,表單控件可以任意放置在窗ロ區(qū)域,通過代碼生成器生成窗ロ層的控件標(biāo)簽代碼,嵌套進模版層生成代碼當(dāng)中,完成整個頁面的代碼生成??丶拥拇a,對應(yīng)表單控件,插件設(shè)計樣式對應(yīng)JSP標(biāo)簽樣式,達到所見即所得的效果。
3.代碼生成器,代碼生成通過Velocity模版引擎實現(xiàn),模版、窗ロ、控件層的代碼均定義了自己的模版文件,通過GEF的Model輸入,控制頁面代碼的生成。
4.布局切換功能,布局切換指,在窗ロ層可以動態(tài)選擇修改窗ロ的布局樣式,支持表格列數(shù)設(shè)置、背景設(shè)置、行高設(shè)計。布局切換之后,通過代碼生成器重新生成代碼,該窗ロ區(qū)域內(nèi)的控件代碼,自動填寫進新的窗ロ布局単元格內(nèi)。
5.自定義模塊擴展,模版與窗ロ容器在設(shè)計器view中的顯示和源代碼視圖中的顯示內(nèi)容,都由資源配置文件進行控制。所以,新增樣式可以通過添加新的模版資源文件進行擴展。擴展的模版窗ロ的樣式,采用統(tǒng)一的界面風(fēng)格。
全文摘要
本發(fā)明公開了一種Eclipse基于布局模版的表單設(shè)計器的實現(xiàn)方法。Eclipse靈活的GEF插件框架,使得在J2EE集成開發(fā)環(huán)境中構(gòu)建企業(yè)自主的表單設(shè)計器更為簡便。然而傳統(tǒng)的基于Grid布局和Form布局等設(shè)計方式,較難解決表單控件的嵌套布局以及表單樣式問題。本發(fā)明通過定義布局模版的方式,簡化了嵌套布局的代碼生成問題,并通過自定義標(biāo)簽技術(shù),較好體現(xiàn)了所見即所得的表單設(shè)計效果;同時,在代碼生成方面,提供了一種簡易的布局算法,使得在表單上面增刪元素時的代碼生成更為智能。
文檔編號G06F9/44GK102707945SQ20121011112
公開日2012年10月3日 申請日期2012年4月11日 優(yōu)先權(quán)日2012年4月11日
發(fā)明者周濤, 田之進, 蔣玉芬 申請人:佳都新太科技股份有限公司