我在 j2ee 领域工作了几年,厌倦了编写所有那些从服务器端下载一些数据并在客户端呈现的 AJAX 函数。
是否可以只编写同时在服务器端和客户端运行的 javascript 代码。
比如,如果我需要开发一个登录页面,我可以写一段代码,有点像这样:
原始代码:
remote checkPassword;
function checkPassword(username, password){
if(existsRecord("select 1 from staff_t where user_name=? and password=?",username, password))
return true;
return false;
};
var main(){
var userName=$("username").val();
var password=$("password").val();
if(checkPassword(userName,password))
alert("Welcome, "+ user);
}else{
alert("sorry, wrong username or password.");
}
}
上面的代码中,javascript直接从数据库中获取数据,是不是更加清晰易懂?
虽然这段代码实际上在生产模式下运行,但它被一个引擎分成两部分:
服务器端:
function checkPassword(username, password){
if(existsRecord("select 1 from staff_t where user_name=? and password=?",username, password))
return true;
return false;
};
客户端:
var userName=$("username").val();
var password=$("password").val();
// 'checkPassword' has been translated to an AJAX function.
if(checkPassword(userName,password))
alert("Welcome, "+ user);
}else{
alert("sorry, wrong username or password.");
}
这样一来,我们就可以将一段代码用于一个业务,而无需将它们分离为java和javascript。引擎将分离代码并确定哪些部分应该在服务器上运行,哪些部分应该在浏览器上运行。
我搜索了整个互联网,但没有找到任何框架可以提供对数据库/EJB/WEBSERVICE 的可访问性。
Google Web Toolkit (GWT) 使我们能够为基于浏览器的应用程序编写纯 JAVA 代码,但对我来说它似乎有点笨拙。 :)
Rhino 是运行在 j2ee 项目上的 javascript 引擎,但它不提供任何访问客户端数据和服务器端数据的方法。
有没有人知道这样的框架,或者是否可以自己开发一个?有什么好处和坏处?
谢谢。
最佳答案
Is it possible to only write javascript codes that run on both server-side and client-side.
当然,放弃 J2EE 加入 node.js社区
至于框架,没有。你无法在两者之间神奇地沟通。我见过的最好的是像 nodeQuery 这样的自动化 RPC服务器通过 RPC 向客户端发送 DOM 命令。
或者,当您可以编写 couchapps 时,谁还需要服务器?并直接从您的数据库提供 HTML。
关于javascript - J2EE 项目上的纯 javascript 框架可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8059879/