隨筆-39  評論-33  文章-0  trackbacks-0

          newxy的簡單之美

          胡立新

          (注:newxy新坐標是java web快速開發(fā)包,功能強大、易學,可使開發(fā)效率提高十倍、數(shù)十倍,newxyWEB開發(fā)比delphi桌面開發(fā)更快,能力更強)

           

          本想用“簡約”一詞,但“簡約”文了點,還是“簡單”好。

          “簡單”如何與“美”掛起鉤來?簡單才能自由,自由才能產生美。

          很多技術或框架之類上來就叫你做很煩人的配置,而有的號稱零配置實際不得不寫幾十幾百行配置代碼。框架太多,但沒有哪個框架讓程序員不寫代碼實現(xiàn)數(shù)據(jù)的增、、改、查等最常用的功能。 newxy將絕大部分常見的、繁雜的、又不得不做的工作用最簡單的、通用的方法來解決,減輕程序員的負擔和痛苦。在用newxy開發(fā)過程中,一種美感油然而升。

          一、newxy“配置簡單”之美

          newxy只需幾行配置信息,而大多數(shù)情況不需寫一行配置信息,正真零配置newxy為了美,為了自由,不扼殺程序員的天性。程序員有的愛寫后臺代碼,有的愛在jsp頁面上寫一些邏輯。對具有不同偏好的程序員,newxy會提供不同的“簡單”解決問題的辦法。

          二、newxy“后臺代碼”之美

          在后臺與數(shù)據(jù)庫打交道,實現(xiàn)數(shù)據(jù)的增、、改、查如此簡單:

          1、增:

          BaseDAO baseDao=new BaseDAO();

          dynaDto dto=new DynaDto();

          dto.set_table(“industry”);   //設置表名

          dto.set(id”,id);

          dto.set(“industry”,industry); //設置行業(yè)內容

          baseDao.update(dto);

          2、刪:

          BaseDAO baseDao=new BaseDAO();

          DynaDto dto=new DynaDto();

          dto.set_table(“industry”);   //設置表名

          dto.set(id”,id);

          baseDao.remove(dto);

          3、查:

          BaseDAO baseDao=new BaseDAO();

          String sql=”select * from industry where……”;

          DynaFormBean formBean=(DynaFormBean)baseDao.findBySql(sql);

          4、改:

          修改第10條記錄的industry字段值:

          BaseDAO baseDao=new BaseDAO();

          DynaDto dto=new DynaDto(formBean.getDto(“10”));

          dto.set_table(“industry”); //設置表名

          dto.set(“industry”,newValue);    //設置行業(yè)內容

          baseDao.update(dto);

          實體類是動態(tài)的、通用的,無需寫與數(shù)據(jù)庫表匹配的配置文件。如此簡單地解決問題,出自內心的不只是純然主觀的快感,還有我們解決現(xiàn)實問題直接明快的方式在內心深處的體驗。

          三、newxy“前臺標簽”之美

          在前臺實現(xiàn)數(shù)據(jù)的增、、改、查同樣簡單,不需寫一行java代碼。

          1、 增:

          <nlogic:action1 id="act1" formName="form1"/>

          <nhtml:form action="" formName="form1">

           <html:hidden property="_table" value="industry"/>

           行業(yè)內容:<html:text property="industry"></html:text>

          </nhtml:form>

          <nhtml:button actionId="act1" method="update" value="保存"/>

              輸入行業(yè)內容,點擊“保存”銨鈕,插入數(shù)據(jù)庫。

          2、 刪:

          <nlogic:action1 id="act1" formName="form1"/>

          <nhtml:form action="" formName="form1">

           <html:hidden property="_table" value="industry"/>

           編號:<html:text property="id"></html:text>

          </nhtml:form>

          <nhtml:button actionId="act1" method="remove" value="刪除"/>

          輸入編號,點擊“刪除”銨鈕,刪除記錄。

          3、 (任意姐合多項查詢)

          <nlogic:action1 id="act1" formName="form1"/>

          <nhtml:form action="" formName="form1">

           <html:hidden property="_table" value="industry"/>

            <html:hidden property="_item1" value="industry"/>

           <html:select property="_item1">

             <html:option value=""></html:option>

             <html:option value="=">等于</html:option>

             <html:option value="like">包含</html:option>

           </html:select>

           行業(yè)內容:<html:text property="_item1"></html:text>

          </nhtml:form>

          <nhtml:button actionId="act1" method="find" value="查詢"/>

          選擇等于查詢或模糊查詢,輸入查詢內容,點擊查詢銨鈕,查詢結果保存在以“form1”為名的DynaFormBean類實例中,這個類實例保存在會話中。

          4、 改:

          <nlogic:action1 id="act1" formName="form1"/>

          <nhtml:form action="" formName="form1">

           <html:hidden property="_table" value="industry"/>

           編號:<html:text property="id"></html:text>

           行業(yè)內容:<html:text property="industry"></html:text>

          </nhtml:form>

          <nhtml:button actionId="act1" method="update" value="更新"/>

          輸入編號及行業(yè)內容,點擊“更新”,如果id號不存在,作insert操作,否則作update操作。

          在其它任一框架下數(shù)據(jù)的增、刪、改都要寫大量重復而又略有不同的代碼,寫代碼與調試絕不可少。在查詢數(shù)據(jù)時要想將用戶輸入的條件組合成sql語句,那是極其繁雜的,可能是程序員“苦”的較高形式。但在這里不寫一行java代碼,任意組合多項查詢。多么美妙。

          程序員從痛苦的寫代碼、調試代碼工作中走出來,發(fā)現(xiàn)了自己存在,再次感受到newxy的簡單之美。

          這里例出的僅是極小部分方法。

          5、 數(shù)據(jù)分頁

              <nlogic:navigate formName="industry" length="5"/>

              <table cellspacing="0" class="table1">

                <tr>

                  <td>序號</td><td align="center"> </td><td align="center" style="BORDER-RIGHT: #ffffff 0px solid;"> 業(yè) </td>

                </tr>

                <nlogic:iterate id="rec" name="industry" property="_coll">

                  <nhtml:TR>

                    <td align="center">${index+1}</td>

                    <td width="50" nowrap="nowrap"><bean:write name="rec" property="code"/></td>

                    <td width="400" nowrap="nowrap" style="BORDER-RIGHT: #ffffff 0px solid;"><bean:write name="rec" property="industry"/></td>

                  </nhtml:TR>

                </nlogic:iterate>

              </table>

           

              數(shù)據(jù)分頁同樣不寫一行java代碼。

          6、 文件上傳

          <nlogic:action1 id="act1" formName="fileForm"/>

          <nhtml:form action="" formName="fileForm" enctype="multipart/form-data">

            <html:hidden property="_table" value="filetable"/>

           文件不大于10兆:<nhtml:file property="content" size="40" maxSize="10240" fileNameField="field1" fileExtendNameField="field2" fileSizeField="field3" fileTypeField="field4"/><br />

          </nhtml:form>

          <nhtml:button actionId="act1" method="update"/>

          上傳大小限制在10兆,文件類容保存在content字段中,文件名保存在field1字段中,文件的擴張名保存在field2字段中,文件大小保存在field3字段中,文件類型保存在field4字段中。

          理論上一次可以上傳無限數(shù)量的文件,不用寫一行java代碼。

          簡單才是美,只有簡單你才有時間、才有閑情逸致欣賞美。

          四、“Delphi風格”之美

          Delphi開發(fā)桌面運用,它那快速精巧的方法,讓好多程序員如癡如醉。Newxy也可用幾個標簽實現(xiàn)具有delphi風格的開發(fā)。見下圖:

           

          左上部是記錄集,下部是當前記錄詳細信息,右上部是當前記錄保存的一張圖片。用戶點擊某條記錄,下部的詳細信息和右上部的圖片隨著變化。

          Delphi實現(xiàn)上述功能可以不寫一行代碼,newxy實現(xiàn)上述功能也不需要寫一行代碼。

          posted on 2007-04-17 21:52 newxy新坐標 閱讀(2127) 評論(6)  編輯  收藏

          評論:
          # re: newxy的簡單之美 2007-04-17 22:52 | 山風小子
          胡立新——中國一位可敬的開源先驅!  回復  更多評論
            
          # re: newxy的簡單之美 2007-04-18 11:30 | 有貓相伴的日子
          支持一下.....  回復  更多評論
            
          # re: newxy的簡單之美 2007-04-18 19:57 | 王元濤
          敬佩!  回復  更多評論
            
          # re: newxy的簡單之美 2007-11-26 11:14 | zwl
          支持!佩服!  回復  更多評論
            
          # re: newxy的簡單之美[未登錄] 2007-12-08 21:18 | a
          沒什么大不了的,就是仿照Ruby on Rails的Active Record,用反射實現(xiàn),
          每次都要檢索表名是否存在,表的各個字段是否存在,其實效率非常低,
          最起碼比哈勃那特低,絕對的,還有,java再怎么樣也實現(xiàn)不了Active Record
          這是公認的道理

          現(xiàn)在都什么時代了,還在搞服務器端解釋的自定義標簽,過時了!!
          現(xiàn)在都搞客戶端全渲染JS組件了,太弱了

          不服嗎,不服就一條一條的駁倒我,呵呵  回復  更多評論
            
          # re: newxy的簡單之美 2010-03-08 10:46 | dcr
          @a
          無聊!這樣就說明你牛了?  回復  更多評論
            

          只有注冊用戶登錄后才能發(fā)表評論。


          網站導航:
           
          主站蜘蛛池模板: 海兴县| 晋中市| 五峰| 开平市| 井陉县| 从江县| 马公市| 莱州市| 玛纳斯县| 鱼台县| 维西| 临泉县| 广南县| 黎城县| 永和县| 淅川县| 陆川县| 康乐县| 海淀区| 女性| 湟源县| 张家川| 赤水市| 东阿县| 漳浦县| 基隆市| 毕节市| 宜兴市| 衡水市| 普格县| 吴川市| 崇信县| 长宁县| 景德镇市| 扎赉特旗| 丰原市| 江都市| 庐江县| 江陵县| 隆昌县| 柯坪县|