您現在的位置是:電腦技術吧?>? 組裝維修 ??>??jsp標簽庫有哪些,java標簽庫??>??正文詳情

jsp標簽庫有哪些,java標簽庫

談傲易2019-12-14 10:22:26 人圍觀
簡介jsp開發網站JSTL標簽是sun率先與Apache社區合作的產品。不幸的是,自從它出現以來,它已經是一種過時的技術。Sun的軟件架構師似乎缺乏從客戶的角度考慮技術方向的能力jsp jstl

JSTL標簽是SUN帶頭與apache社區合作的產品,可惜從一出現就已經是一個過時的技術。

SUN的軟件架構師似乎缺乏從顧客角度考慮技術取向的能力,與微軟相比差之千里。

就標簽技術而言,它的目的是令菜鳥中的菜鳥變得可以寫JSP,還是令一般程序員寫JSP顯得更方便,更好管理?

顯然,SUN的那位笨蛋架構師沒有想明白這個道理(越是看得多它的文檔介始,越是覺得那個家伙是個大笨蛋),把SUN數千名天才工程師的才智白白浪費了。

  所有人都已經知道,JSP出現的目的就是為了讓程序員更方便地寫簡單的servlet,復雜的多功能的servlet是不容易用JSP實現的。

而JSP希望讓菜鳥寫java動態頁面的目的并沒有達到,這條,還不如ASP/PHP。

在JSP中散布底層業務邏輯既不便于對象組織,也不但于代碼管理,非常低效。

這是發展出javaBean和標簽技術的原因;而JSTL呢,它的基本客戶邏輯竟然是為了幫助使用者更方便地把底層代碼散布在JSP上!?

包括數據庫連接?

!所以這東西是一個新的技術實現落后目標的產品,面對市場需求整整慢了一拍。

唯一有點價值的是它的循環邏輯,這條還是很有用的。

只不過能夠實現的不止它一個,struts.logic標簽就是很好用的一種,而且不用指向http:/sun.xxxx/core什么的,事實上JSTL能夠提供的struts:logic也能夠提供。

實際上struts幾個標簽庫中也就logi,有點價值,bean也可以,其他的html是純粹和FormBean為核心的MVC設想框架提供的。

即使這樣,就實用性而言,strutslib仍比sun實用得多。

  struts標簽庫不能很好地面向數據對象,這是它的不足,hanva標簽就是為了補充這個不足。

結合struts的logic庫,使用hanva標簽可以達到在jsp中聲明和接收變量,可以實現多種邏輯,可以直接從底層獲得持久性非持外性的數據對象,處理并輸出一個程序大致也就只有這些東西做的。

特殊的東西再特殊處理,直接完全使用標簽調用下層服務daemon程序完成絕大部分功能,已經可以做到了。

  下面的論壇示例刪除程序是這樣的一個功能,可以處理任何的實現了hanvaDAO接口規范的表數據的刪除,包括對其相關數據記錄的同步處理。

它接收一個對象類型(ent),及ID,判斷這個對象(行記錄)是否存在,然后判斷它的sourceid和id是否一致(是主貼還是跟貼),如果是主貼,就把它的從貼一起刪除,否則就只刪除當前貼,然后返回原來調用的一頁,如果出錯,就轉向到errors.jsp頁,顯示出錯信息。

entity:present ent=${param.ent} oid=${param.oid} id=thent nexto=${header.referer} %--如果記錄存在就繼承內嵌邏輯,把該記錄定為ident名--% %--判斷sourcid與id是否一致--%logic:equal name=thent value=${thent.sourceid} property=id%--取所有主從貼,集合定名為theobjs--%entity:entities ent=${param.ent} id=theobjs qstr=sourceid=${sourceid}%--迭代集合內容,單個取名為theobj--%logic:iterate id=theobj name=theobjs%--刪除該對象--%cmd:delete ent=${param.ent} target=${theobj}//logic:iterate/entity:entities/logic:equallogic:notEqual name=thent value=${thent.sourceid} property=id%--單個從貼,清除該對象--%cmd:delete ent=${param.ent} target=${thent}//logic:notEqual/entity:present  標簽結束,根據nexto轉向到調用者,這樣段小代碼實際上就扮演了一個MVC中的c角色。

如果需要輸出斷點,可以調用hanva:log 把實時內容輸出到log日志中。

一個比較復雜的功能就此完成了。

全程實際上只是進行了一次或兩次數據庫的訪問,如果是多個從貼,需要獲得它的串,這是可能的第二次。

注意entity:entities標簽,它輸入一個條件,也可以輸入fields選項,得到一個ArrayList串(沒有同步要求就不用Vector),如果不是為了翻頁,它可以代替hanva:list,使用上也更方便,沒有需要先設定一個dao.list對象。

  我認為這才是標簽技術的真正用法:幫助程序員在界面清晰明確地調用后臺的處理程序,方便面向對象的業務邏輯的建立,方便隱藏非表達層的邏輯;而不是變成把頁面搞得更復雜,堆上更多難懂代碼的又一套新方法。

  相對而言,tags文件標簽技術顯得更現實一點。

如同jsp是方便菜鳥(仍是程序員)寫簡單的servlet一樣,tags標簽文件是方便看到Class就發抖的菜鳥象寫jspjavalet一樣寫標簽;顯然,是最簡單的SimpleTagSupport的變種,只有它才有一個體內容。

也同樣,充分利用Class類結構的編碼技術在這里沒有辦法實現。

  JSP開發社團看來熱衷于在局部別具一格地提供一些局部方便性措施,卻常常忽略了客戶更大的一個要求:在項目開發中盡可能采用單一的標準的范式完成所有程序。

多使用一種小技術模式在局部方便了,全局來說卻是多管理一種一種技術,或者說程序員要多學一種只在局部有效的技術。

這個邏輯錯誤從J2EE開始就伴隨著SUNJAVA的技術發展,看來是它的不治之癥。

在筆者看來,與其多搞小動作,不如在核心一鉆到底,而小范圍內的方便措施,還是有有能力的客戶去實現為佳。

拙劣地模仿微軟去拍落后(也是非主流的客戶)的馬屁,將是SUN公司技術上最終失敗的原因。

版權聲明:本文由 談傲易 整理編輯。

原標題:jsp標準標簽庫,jsp標簽庫

轉載注明出處:http://www.dn9ww09s.icu/assemble/15442.html

文章評論

    共有條評論來說兩句吧...

    用戶名:

    驗證碼:

作者推薦

  • 如何判斷數組是否為空,數組為空怎么判斷

    如何判斷數組是否為空,數組為空怎么判斷 相關圖片js怎么判斷一個數組為空一。Isset函數:判斷變量是否初始化注意:不判斷變量是否為空,可用于判斷數組中的元素是否已定義。注:當使用ISSET判斷數組元素是否已初始化時,其效率約...

  • 系統的特性和分析方法,系統的分析方法及各自的優點

    系統的特性和分析方法,系統的分析方法及各自的優點 相關圖片分析系統穩定性的方法Xcode 4.3符號崩潰的位置與舊版本不一致。/應用程序/Xcode.app/Contents/Developer/Platforms/iPhoneOS.pl系統分析的方法有哪些...

  • ios 10,ios12.2

    ios 10,ios12.2 相關圖片ios12.1.3我的一個同事問我如何學習IOS。我不需要編碼就能生產產品。好吧,是的,我不需要有能力,但如果可以,我可以更好地與程序員溝通。至少我們能聽懂同樣的語言。讓我推薦一...

  • 碰撞檢測有啥用,opcode碰撞檢測

    碰撞檢測有啥用,opcode碰撞檢測 相關圖片Qt碰撞檢測我們設置要檢測的碰撞的物理設置(以下我們稱之為物理體x x)XX。Physicsbody=skphysicsbody(矩形大小:cgsize(x:100,y:1cocos碰撞檢測...

  • apk轉換ios,蘋果轉換器

    apk轉換ios,蘋果轉換器 相關圖片安卓數據轉到ios本文主要介紹了IOS開發中時間轉換方法的集合。在開發IOS程序時,有時需要將時間格式調整為所需的格式。此時,我們可以使用nsdateformatter類來處理它ios12.1.4怎么樣...

  • cors實現跨域訪問,cors跨域訪問示例

    cors實現跨域訪問,cors跨域訪問示例 相關圖片cors實現請求跨域本文介紹了利用Ajax實現跨域訪問的三種解決方案,具有很強的實用性。我推薦第三個。你可以集中精力。首先,什么是跨域?讓我們回顧一下域名地址的組成:http://c...

  • ios開發條件,ios開發軟件

    ios開發條件,ios開發軟件 相關圖片手機ios開發目前,大多數企業iOS應用主要基于報表和官方文檔審批,應用程序的發展趨勢將朝著Web的方向發展,但本地應用程序具有無可比擬的靈活性。如何在IOS上本地化網頁?一蘋果...

  • asp運行,asp.net mvc5

    asp運行,asp.net mvc5 相關圖片net和web本文主要介紹了asp.net網站停止運行的原因記錄的具體實現。必須記錄導致網站停止運行的原因。下面是具體的實現方法。代碼如下:protected void apiis支持asp嗎...

  • jsp服務器都有哪些,jsp是在服務器運行

    jsp服務器都有哪些,jsp是在服務器運行 相關圖片web服務器 應用服務器Java只能獲取一次,而且到達頁面的時間是靜態的。然而,通過JS與Java的合作,Java巧妙地實現了這一功能。Java獲取服務器時間,并將其動態顯示到JSP頁jsp上傳文件到...

  • 簡體轉繁體,簡體字繁體字

    簡體轉繁體,簡體字繁體字 相關圖片word繁體轉簡體%Test1=新的?.中國?Test2=新信譽。China response.write big5andgb2312(test1,1)response.writ中的繁體字...

熱評文章

  • 打開相機閃光燈,相機的閃光燈在哪里打開

    打開相機閃光燈,相機的閃光燈在哪里打開 相關圖片照相機閃光燈怎么打開今天,我想和大家分享一下如何調用iPhone的攝像頭功能并打開閃光燈。我不懂一些代碼,其中許多是從網上的其他代碼借來的。IOS有兩種拍攝照片和視頻的方式:...

  • 因為程序錯誤是什么,無法完成請求因為程序錯誤

    因為程序錯誤是什么,無法完成請求因為程序錯誤 相關圖片電腦老是彈出應用程序錯誤我以前沒有使用過XP系統(XP在大學時我就用過,但從那以后我就沒有使用過XP了。那時候我不喜歡它漂亮的界面,呵呵。),我沒有遇到過這樣的問題。今天,...

  • asp是什么,asp和php

    asp是什么,asp和php 相關圖片asp網頁本文主要介紹了asp.net連接mysql數據庫的兩種方法和實例。它使用官方的MySQL組件和odbc.net。您可以參考以下方法給您的朋友:使用MySQL官方net是啥...

  • 關閉iOS更新,ios更新怎么關閉

    關閉iOS更新,ios更新怎么關閉 相關圖片ios關閉自動更新在IOS應用程序開發中,可以打開虛擬鍵盤進行輸入操作的視圖對象有三種,但是如何關閉虛擬鍵盤還沒有提供一種自動的方法。這需要我們自己來實現。首先,按鍵盤上...

  • iOS3D游戲,ios 3dtouch

    iOS3D游戲,ios 3dtouch 相關圖片ios3dtouch在哪開首先需要獲取mono.data.sqlite.dll文件和system.data.dll文件。如果你在MAC上使用unity,那就太悲劇了。我找不到這兩個文件,3dtouch怎么用...

  • emlog友情鏈接插件,Typecho插件

    emlog友情鏈接插件,Typecho插件 相關圖片typecho優酷插件本文主要介紹Typecho插件編寫教程(1):HelloWorld。本文介紹了插件的文件結構、插件信息、插件結構、插件過程等內容。對于你的朋友,你可以參考一下老typecho301插件...

  • aspx的數據傳遞到aspxcs,.cs

    aspx的數據傳遞到aspxcs,.cs 相關圖片js在aspx沒反應本文主要介紹了在后臺刷新ASPX頁面的四種方法。凈現金。對于朋友,請參考以下內容:回復。重定向(請求。網址。Tostring());響應。寫入(腳本語言=Jaspx是什么語言...

  • asp變量查詢代碼,季度查詢asp代碼

    asp變量查詢代碼,季度查詢asp代碼 相關圖片asp網站表格代碼%Response. Write scriptalert ('19981) if request (ID) =;aspajax批量查詢...

  • iOS3D游戲,ios 3dtouch

    iOS3D游戲,ios 3dtouch 相關圖片ios3dtouch在哪開首先需要獲取mono.data.sqlite.dll文件和system.data.dll文件。如果你在MAC上使用unity,那就太悲劇了。我找不到這兩個文件,3dtouch怎么用...

  • %c,8c

    %c,8c 相關圖片7c本文主要介紹C?判斷兩幅圖像是否一致的快速方法。對于需要的朋友,請參考以下代碼:?區域判斷圖片是否一致//summary///判斷圖片是否一致///summarc=...

關注微信

变脸官网查询