下面来看一下Helma中User的使用:
Helma中的user与其它程序中的用户没有什么分别,代表的都是程序中必不可少的用户。对其操作无非就是添加新用户,修改用户,用户名与密码验证等等。
在Helma中使用User,主要有这么两种方式:一是在session中,一是在app中(即appliction中)
一、在app中使用user的方法:
1、
app.registerUser(usernaem,password); //它会根据用户名进行注册,如果用户名已存在,则注册不成功,返回null值。如果注册成功,返回的是新注册的这个用户对象。例:
var u = app.registerUser(req.data.username, req.data.userpwd);
if(u!=null){//如果注册成功,u不为null,下面是为这个用户其它的属性赋值
u.sex = req.data.sex;
u.birthday= req.data.birthday;
u.email = req.data.email;
}
2、
app.getRegisteredUsers(); //返回一个数组,是所有的已注册的用户对象。例
var arr = app.getRegisteredUsers();
for(int i = 0;i<arr.length;i++){
var u = arr[i];
res.write(u.name);
res.write(u.password);
res.write(u.sex);
}
3、
app.getActiveUsers(); //返回当前已登录的所有用户的数组
4、
app.getUser(username); //根据用户名获取一个用户的实例,如果没有则返回null
二、在session中使用user的方法
1、
session.login(username,password); //根据用户名和密码进行登录,如果登录成功返回true,不成功返回false。参数也可以是一个User对象
session.login(User u); 例:
var flag = session.login(req.data.username,req.data.password);
if(flag){
res.write("登录成功");
}else{
res.write("登录失败");
}
2、
session.user; //这是一个属性,如果登录,指登录的user对象,如果没登录,它的值为null。通常用来检查用户是否登录
3、
session.logout(); //可以翻译为登出。即注销一个用户,将登录的那个用户从session中移出。例:
session.login("zhangsan","123456");
res.write(session.user); //输出HopObject user,说明session.user现在是个user对象
session.logout();
res.write(session.user); //输出null,用户已经注销
以上讲了Helma中使用User的所有的方法,但还是一些比较棘手的问题一定要注意,关于这些问题请参考Helma中关于User的问题
http://han2000lei.iteye.com/blog/336435
分享到:
相关推荐
将MongoDB与Helma结合使用,可以创建出高效的Web开发解决方案。MongoDB作为数据存储后端,负责处理和存储大量的数据,而Helma则作为前端服务器,负责处理HTTP请求,执行业务逻辑,并通过模板引擎生成响应。 在使用...
Antville 是用服务器端 JavaScript 编写的,并使用 Helma Object Publisher 开发。Antville 在后端使用关系数据库。 要运行 Antville,您需要 Helma Object Publisher 和关系数据库软件。我们用 PostgreSQL 和 MySQL...
Helma是一个Web应用程序框架。 它提供了对各种脚本引擎的支持,但是Rhino JS脚本引擎插件仍然是唯一的捆绑插件。 该项目提供了一个PHP插件,允许PHP开发人员使用Helma Web应用程序
这是 Jala Javascript 库 1.2 版的 README 文件。... 要包含某个 Jala 模块,只需将以下行添加到 Helma 应用程序的源代码中(将[name]替换为所需的模块名称): app.addRepository("./modules/jala/
Antville的源代码中仍然可能隐藏着错误。 如果您找到一个,请告诉我们。 Antville的创建者对软件的功能不承担任何责任。系统要求要运行Antville,您需要和关系数据库软件。 我们在和测试了Antville – 应该工作。 ...
Antville 完全用 JavaScript(准确地说是 ECMAScript)编写,并基于 Helma Object Publisher,这是一个强大且快速的可编写脚本的开源 Web 应用程序服务器(它本身是用 Java 编写的)。 Antville 在后端使用关系...
- **先驱者们**:早在Node.js出现之前,已有其他几种尝试将JavaScript应用到服务器端的技术,比如Aptana Jaxer(基于SpiderMonkey)、Helma(基于Rhino)。这些尝试为Node.js的发展奠定了基础。 - **早期挑战**:...
- **先驱**:在Node.js之前,有一些类似的尝试,如Aptana Jaxer和Helma,它们为Node.js的发展奠定了基础。 ##### 二、Node.js 的核心思想 - **非阻塞 I/O**:这是Node.js最显著的特点之一,它使得Node.js能够处理...
:sun: HELVM (发音helium )是在Haskell / Eta中实现的Heavenly Esoteric Little(素食地铁)虚拟机。 HELVM有六个部分: :helicopter: (发音helicam )天生深奥的小混凝土绝对机 :wrench: :wrench: :sheaf...
【描述】中提到,Twoday基于Antville构建。Antville是一个开源的Web托管系统,用于创建和管理博客、新闻站点和其他内容管理系统。通过在Antville的基础上进行扩展,Twoday不仅继承了其基本功能,还添加了一系列增强...
warpFX是Flex:trade_mark:的数据抽象库,可在Flex:trade_mark:与支持某些已定义远程方法的任何AMF3兼容服务器之间提供透明数据服务。 warpFX附带了用于Helma的服务器端远程方法和AMF3实现。