你對我來說似乎是一個很好的方法,所以沒什麼可說的。 如果您希望能夠在客戶端創建JavaBean的新實例,同時使其與服務器端結構保持同步,那麼您可以向客戶端提供一個「代理」對象,您可以使用它來創建新實例。此代理由服務器隨時生成,將始終能夠創建與您的服務器端副本始終保持同步的客戶端對象的正確實例。
例(很粗糙,它只是給你一個想法):
1)包括您的JavaBeans
<script src="/server/url/mapped/to/servlet/ssproxy.js"></script>
代理,通過一個Servlet動態生成的服務器端生成的代理,將包含必要的JavaScript代碼來創建你的服務器端對象的新的客戶端實例(這裏使用顯露的模塊模式):
2)您ssproxy.js(由服務器產生的)內容:
var server = {};
server.Proxy = (function(){
function _extend(obj, additional) {
//copy properties from additional into obj
//... I'll leave that to you...
}
function _createObject(config) {
var default = {
attribute1:'',
attribute2:''
};
//you can implement something
//like jQuery extend() function here
//to override default values with passed in args
_extend(default, config);
return default;
}
return {
createObject: _createObject
};
}());
你可以使用它,然後創建對象,當你需要它:
var newobj = server.Proxy.createObject({attribute1:'custom value'});
是否有人可以幫助這裏?謝謝! – kshitij 2012-02-28 18:52:52