很想有種像javascript語法的伺服器指令碼語言

tianqiq發表於2009-10-28
javascript一直是我非常喜歡的語言。 最近突發奇想 試著用javascript編寫asp。 在編寫的過程中讓我感到很多的樂趣。

structs有自動收集表單的功能,前提是我們必須寫好actionform。但是我們又用了orm。 這個時候orm中entity和

actionform太多的相同。 這個一直讓我覺得很不爽。 但是我在用javascript中寫asp時。讓我很輕易的就解決了這

個問題,就下面這段程式碼。
getForm:function(){
var o=0;
var app = new Enumerator(Request.Form);
while(!app.atEnd()){
o=o||{};
var value = Request.Form.Item(app.item()).Item;
if(value.indexOf(",")>-1){
o[app.item()]=value.split(",");
}else{
o[app.item()]=value;
}
app.moveNext();
}
return o;
},

我相信對javascript比較瞭解的,一看就知道。我就不解釋。我只說說他的作用。他的作用很簡單,就是把任意

表單提交過來的的資訊,轉換為物件。


我再來說說orm的問題。在用javascript中我們根本就不需要什麼orm。(當然你需要也可以)。我們完全就可以根

據你的sql查詢出來的資訊,自動生成物件。這裡我也給出一段簡單的程式碼例子。

convert:function(result){
var list=[];
var i=0;
var o=0;
while(!result.EOF){
var e=new Enumerator(result.Fields);
o={};
while(!e.atEnd()){
o[e.item().Name]=new String(e.item()).trim();
e.moveNext();
}
list=o;
i++;
result.MoveNext();
}
return list;
},

這個方法的作用就是根據從資料庫查詢出來的result自動生成物件列表。很簡單我們就完成了表到物件的對映關

系。這個根本就不算orm。但是你硬是要實現向hibernate那種,也是非常簡單的。

曾經在java中我們不曉得要多少程式碼,多少配置才能完成的任務。 在javascript簡短几句程式碼就完成了。 可能

看到這裡的人,很多人會認為我把問題相當太簡單,太膚淺。我也承認。 但是他簡單性確實是java中無法比擬

的。如果javascript寫伺服器程式碼,還有以下2個好處。

1: 伺服器程式碼,客戶端程式碼共用。比如說表單驗證。

2: 對json原生支援。

當然如果說用javascript寫asp用來做專案。簡單的還是可以。但是大了就不行了。畢竟(asp)功能不夠強大

安全性也較差。所以我非常希望有一種能有javascript這種能力,但是又功能強大的語言。

相關文章