有個項目需要用到類似shopex中
快遞單打印
的功能
花了一段時間
終於搞定了
效率是不怎麼高
原因在於自己對系統框架還不熟悉
java的功底不扎實
摸索的時間太長
首先花了幾天的時間
去看shopex的實現方法(當然不是一直都看
因為還有其他工作在忙)
總體上是由flash和JavaScript交互完成的
當然
數據是由php提供的了
由此
我也可以運用到我們的系統中來
這次我學習了一個新的JavaScript框架
mootools
因為shopex是通過這個框架來時間上述的功能的
在交互過程中需要xml格式的數據
php中有個方法
可以直接將php的數組轉換成xml格式的數據
在java或者jsp中
就沒有類似的方法
不過也有很強大的類來了完成
jdom
我簡單操作了一下
滿足了這個功能的需求
先講一下jdom的使用過程
下載後
解壓出來
在build文件夾中找到jdom
jar
放到/WEB
INF/lib下面
導入相關的包
如import org
jdom
Document;
添加的一些方法
Element root = new Element(
data
); Document doc = new Document(root);
這些數據組成後
在Controller如何傳到模板呢?這個讓我困惑了好久
還請同事過來幫忙
好在同事經驗豐富
叫我去官方網站看文檔
可都是英文啊!(有個感悟
只要掌握了思想和方法
做什麼都是一樣的)
使用XMLoutputer
然後需要轉成String類型
而且只需要片段的內容
XMLOutputter outputter = new XMLOutputter();
printData=outputter
outputString(doc
getContent());
令外說一下jsp和xml的事
原先我想用jstl來操作
但是那個標簽老出錯
我也不知道錯在哪裡
後來還是在jsp裡面插入java了事
再說說mootools
網上的介紹很多
我也沒有時間去深入研究
他們說源自prototype但比prototype好
我接觸後
發現也不錯
學習了一個方法
很實用
對dom的操作也很強大
從項目中舉例
我想使得某個地方的元素
鼠標經過是改變背景顏色
鼠標滑出恢復原來的背景色
首先取得對象
var cElements=$(
box
print
content
)
getElements(
span[class=menuitem]
);
然後循環進行操作(這是原來的笨辦法
因為我對mootools還不熟
但我知道jquery是可以很方便做到)
for (var i=
;i<cElements
length;i++){
cElements[i]
addEvents({
mouseover
: function(e){this
addClass(
overLight
);}
mouseout
: function(e){this
removeClass(
overLight
);}
});
}
效果實現了
高興啊
哈哈
附上jquery的代碼(根據其他應用而設想的代碼
不知道會不會正常實現)
JQ(document)
ready(function(){
JQ(nuitem span
)
hover(
function(){
JQ(this)
addClass(
overLight
)
}
function(){
JQ(this)
removeClass(
overLight
);
}
);
JavaScript的框架很多
每個都各具特色
都很優秀
但是我應該深入掌握某一個
例如某友只用jquery
From:http://tw.wingwit.com/Article/program/Java/hx/201311/27037.html