設計嘛,我想就是那樣了。我的注釋版把通訊部分刪掉了。你可以自己研究一下google的js,很快就能明白了,原理非常簡單的。“行號、列號、和應用號”這不是很簡單么,你可以將div的id設為數據庫中的應用ID。而行號則從div.parentNode里面獲取,比如把parentNode的ID寫為column1,column2這樣的形式然后substring(6,7)不就獲得了column的號,也就是列號。而行號也很簡單div.parentNode進行getChildNodes然后遍歷一遍,找到當前div所在的位置,然后行號不就找到了。這幾個號都有了不就OK了。
其實要實現這樣的應用還是要學習一下javascript,否則還是很難寫出來。
還有Drag也可以通過dojo庫里面的相應的東西實現,那個可以寫鉤子函數,實現起來比用google這個要規范一些。
哈哈,好文,謝謝。不過是否用過沒有返回值的存儲過程?我發現在Hibernate里面用沒有返回值的存儲過程總會出錯,不知是否解決?
關于數據保存的問題,其實并不難,因為每次拖拽結束都回得出該div在哪個拖拽區域div里面,順序也可以通過遍歷所在div的childNodes來找到,然后調用一個XmlHttpRequest回去保存就可以了。在數據庫里面保存應該只保存位置,然后給每個位置一個id,這個id在對應一個應用(即div里面顯示的內容)就可以了。可以參考netvibes,它就是一個id對應一個rss,div里面顯示rss的內容就可以了。XmlHttpRequest只需看看Ajax的相關書籍就可以了。推薦Ajax修煉之道和Ajax實戰兩本書。
呵呵,其實我覺得不如上面說的那個解決徹底。因為問題就出在上面描述的位置,我去Webwork論壇問了,他們也說問題就在這里,現在只需if (encoding != null) 然后每次都request.setCharacterEncoding(encoding);就可以了,不需要手工轉碼。
faint里面所舉例的那個程序很經典呀。
剛才試驗了一下Generic無法獲取自己的Generic Type類型,后來仔細看了下擦拭法的本意。實際上BadClass<String>()實例化以后Class里面就不包括T的信息了,對于Class而言T已經被擦拭為Object,而真正的T參數被轉到使用T的方法(或者變量聲明或者其它使用T的地方)里面(如果沒有那就沒有存根),所以無法反射到T的具體類別,也就無法得到T.class。而getGenericSuperclass()是Generic繼承的特例,對于這種情況子類會保存父類的Generic參數類型,返回一個ParameterizedType,這時可以獲取到父類的T.class了,這也正是子類確定應該繼承什么T的方法。
re: 亂評prototype.js Tin 2006-04-28 09:41
如果是特效,可以考慮moo.fx,配合lite過的prototype,體積非常slim。
剛才看了看你的bj114/viewer.htm這個,的確挺牛。不過說實話界面有點土,而且沒有流行的那種刻度條的縮放,感覺用起來不習慣。
我們的項目也在和北師大合作gis,不過我都沒有研究過這方面。和身邊的朋友調試過mapxtreme,那個東西還需要刷新,不爽。
你們公司怎么聯系?什么時候看看你們的產品。
不錯不錯。也可以去www.oepn-open.com看看。
RichTextEditor其實就是FCK Editor,在FF應該是可以使用的。
你可以看看是不是你的設置出了什么問題。
Hi,看到截圖中的組件我有這樣的想法:
1、什么樣的應用才應該使用RIA的組件。因為原數據的抽出的確是種很好的設計,因為復用強架構也清晰,但是原數據所描述后的數據本身就不那么實體化了(希望用戶看到結構化的數據本身)。因為在你的設計下強調了原數據的綁定,在客戶端處理了數據和行為本身的裝配和顯示,這就造成了對用戶來說數據本身不可見?我比較迷惑是否所有的應用都應該考慮RIA,尤其是報表這個東西。
2、也許管中窺豹看不到你的代碼。你后面說的Hibernate Metadata結合UnitOfWork是傳輸中的序列化與反序列化么?如果中間傳輸使用XML并且可以暴露我覺得數據對于用戶也就是可用的了。這樣的RIA的確很厲害,不過JS的Client端的工作量不小吧。中間如果是WebService或者Burlap、Hessian那樣的遠程協議是不是適應性更強?
3、還有IDE支持。手工實現這套東西不容易吧?很想有一套開源的Grid組件可以使用,但是卻沒有。發現由于前后臺集成,所以最好有IDE支持這種組件才好用。所以Dorado這樣的東西才吸引人(可惜他瀏覽器兼容不好)。IBM的Faces Client也很好,不過不用Websphere還是用不了。
希望進一步了解你的方案。:o)
re: 碰到的一個Hibernate的問題 Tin 2006-03-10 13:47
可以用session.refresh()進行強行讀取就OK了。
我么項目的Category也是自影射,修改完以后child就沒有了。只要refresh一下就OK了。
@111
你在save前cat是如何創建的?save應該操作new出來的VO。
你的Cat里面是否引用其它的Cat實例(涉及到Cascade問題)?
推薦你用P6Spy跟蹤一下,很快會發現問題出在哪里。或者簡單的把show_sql設為true跟蹤一下也可以。
P6Spy的使用可以參考這里:
http://www.tkk7.com/hexuzhong/archive/2006/01/28/29345.html
呵呵,可能你看錯了。這里是說對result的多參數進行配置,而不是對action的參數進行配置,兩者所處的Action生命周期不同。<param>參數負責給Action初始化賦值,而對result不能通過<param>賦值,在result type="redirect"時相當于Action生命周期結束并將參數傳給下一個action或者一些url觸發的事件。
其實上面的代碼如果不簡寫,將所有的參數指明是這樣的:
<action name="blahblahAction" class="blahAction" method="blah">
<result name="success" type="redirect">
<param name="location">/some.action?field1=${field1}&field2=${field2}</param>
<param name="parse">true</param>
</result>
</action>
因為type="reirect"的result只接受location和parse兩個參數,不支持自定義的param,這是個限制。這個限制可以在webwork的wiki上面搜索到。希望以后webwork可以改變它。不過lightbody本人也許覺得OGNL的表達式已經夠強大了,呵呵:D
@李李
謝謝。對pojo的conversion.properties應該存放在哪個目錄對應呢?
如果pojo和action都支持conversion真得很方便。
徐X搞得那個Expressive Scheme的確很有意思,但是上次你也說了它的編譯器也是近幾年才從性能上達到可用的。上面的很多美感,還有你避開的馮語言,放到設計集成電路的朋友們手里,會不會感到可笑?與非門啊……
謝謝推薦,這個插件挺好用。to 樓上:這個當然可以links安裝,你記住把解壓后的plugins放到一個自己建的eclipse目錄,然后再把eclipse文件夾所在目錄寫到link文件里面就可以工作了。