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

          newxy的簡單之美

          胡立新

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

           

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

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

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

          一、newxy“配置簡單”之美

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

          二、newxy“后臺代碼”之美

          在后臺與數據庫打交道,實現數據的增、、改、查如此簡單:

          1、增:

          BaseDAO baseDao=new BaseDAO();

          dynaDto dto=new DynaDto();

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

          dto.set(id”,id);

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

          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);    //設置行業內容

          baseDao.update(dto);

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

          三、newxy“前臺標簽”之美

          在前臺實現數據的增、、改、查同樣簡單,不需寫一行java代碼。

          1、 增:

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

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

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

           行業內容:<html:text property="industry"></html:text>

          </nhtml:form>

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

              輸入行業內容,點擊“保存”銨鈕,插入數據庫。

          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>

           行業內容:<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>

           行業內容:<html:text property="industry"></html:text>

          </nhtml:form>

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

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

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

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

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

          5、 數據分頁

              <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;"> </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>

           

              數據分頁同樣不寫一行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字段中。

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

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

          四、“Delphi風格”之美

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

           

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

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

          posted on 2007-04-17 21:52 newxy新坐標 閱讀(2126) 評論(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,用反射實現,
          每次都要檢索表名是否存在,表的各個字段是否存在,其實效率非常低,
          最起碼比哈勃那特低,絕對的,還有,java再怎么樣也實現不了Active Record
          這是公認的道理

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

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

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


          網站導航:
           
          主站蜘蛛池模板: 大安市| 扎囊县| 清流县| 枣阳市| 灯塔市| 姚安县| 土默特左旗| 太原市| 武夷山市| 福泉市| 湾仔区| 体育| 闻喜县| 兰西县| 乌拉特后旗| 阿坝县| 西吉县| 布尔津县| 金昌市| 松潘县| 汉寿县| 宜兴市| 霍林郭勒市| 望奎县| 吉木萨尔县| 皋兰县| 淮南市| 新和县| 文成县| 观塘区| 泰和县| 修文县| 翁牛特旗| 泌阳县| 太谷县| 北票市| 东阿县| 布拖县| 松潘县| 买车| 柳林县|