javascript - J2EE 项目上的纯 javascript 框架可能吗?

标签 javascript ajax gwt jakarta-ee rhino

我在 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/

相关文章:

google-maps - 如何使用gwt禁用街景?

java - 从 JSNI 调用 Java 函数

javascript - 在 MapBox 中设置 geoJSON 要素图层的样式

javascript - Node.js,映射对象数组,并将特定值放入新数组中

javascript - 推送到多维数组Javascript

ajax - 急于实现grails服务器端触发的对话框,或如何在AJAX调用后突破更新区域

javascript - 无法点击带有 ajax 加载的按钮

gwt - 从 CellTable 中删除所有列

javascript - 一个id可以有多个highcharts吗?

javascript - SyntaxError : JSON. 解析:JSON 的第 1 行第 2 列出现意外字符