注册成功和不成功如何判断?

xuxianan 2009-12-09 04:17:04
框架 struts2+hibernate+spring

前台提交参数到action action调用后台方法 方法直接使用hibernate的.save(user)把对象放进去 是void的 没有返回值

如何判断是注册成功或是不成功呢? 我想在前台给用户一个响应
...全文
248 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
java_running 2009-12-14
  • 打赏
  • 举报
回复
[Quote=引用楼主 xuxianan 的回复:]
框架 struts2+hibernate+spring

前台提交参数到action action调用后台方法 方法直接使用hibernate的.save(user)把对象放进去 是void的 没有返回值

如何判断是注册成功或是不成功呢? 我想在前台给用户一个响应
[/Quote]

一般情况都会成功, lz可以在底层将一切异常都throws上面,这样你save对象就会有处理异常信息,你这就可以根据是否出现异常返回boolean值。 或者 你save(user) 的这个对象user, 一定会有个uid 吧(用户编号) ,如果根据uid 得到一下对象就知道你save 对象是否成功。。。。

lz 结贴吧
xiandulina 2009-12-14
  • 打赏
  • 举报
回复
要判断用户名是否存在,数据库中设置的username是unique,你先查询是否存在注册时输入的用户名,判断返回的boolean值,如果是true的话,就提示用户名已经存在,flase的话就执行 save操作,返回注册成功信息
xuxianan 2009-12-14
  • 打赏
  • 举报
回复
以上方法均不行. 后台会提示错误 前台会进入错误页面 不能返回指定的提示信息页面.
lijun3159 2009-12-14
  • 打赏
  • 举报
回复
在最顶层捕获异常,没有异常,成功;
出现异常,失败!
crazylaa 2009-12-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xuxianan 的回复:]
这是现在的方法 我用boolean来判断是一样的吧 前台判断是true或false然后返回input或success.
Java code/ 新增用户信息;publicboolean insertUserInfo(User user) {
Session session=this.getHibernateTemplate().getSessionFactory().openSession();boolean flag=false;try {
session.beginTransaction();this.getHibernateTemplate().save(user);
session.beginTransaction().commit();
flag=true;
}catch (Exception e) {
logger.error("存储数据异常!",e);
e.printStackTrace();
flag=false;
}return flag;
}
但还有问题.我数据库中设置的username是unique.不允许重复的.我第一次注册没有问题.会显示注册成功.我想看下注册失败是怎样的提示.然后又输入相同的数据进行注册.就报错了.提示某字段重复.换个字段就没问题.如何操作?

在发个疑问: 我想要的那种就是 注册成功了 弹出一个注册成功.注册失败的话也会出现注册失败的提示.

后台我这样判断对吗? 我觉得有点问题吧.
[/Quote]

哎呀,把boolean改为String,把你需要显示的信息直接扔进去,管它成功还是失败呢。。
Dazzlingwinter 2009-12-09
  • 打赏
  • 举报
回复
在控制层你获取该判断一下,这个用户有没有注册
public boolean isRegisted(String username){
BigDecimal bigNum = null;
Session hibernateSession = getSession();
try {
String sql = "select count(*) from User u where u.username = '" + username + "'";
bigNum = hibernateSession.createSQLQuery(sql).UnitResults?();
if(null != bigNum && bigNum.intValue() > 0) {
return true;
}
}catch(Exception e) {
e.printStackTrace();
}finally {
hibernateSession.close();
}
reutrn false;
}
Dazzlingwinter 2009-12-09
  • 打赏
  • 举报
回复
publie boolean insert(User user) {
boolean returnFlag = false;
try {
getHibernateTemplate().save(user);
returnFlag = true;
}catch(Exception ex) {
ex.printStackTrace();
}finally {
getHibernateTemplate.flush();
getHibernateTemplate.clear();
}
return returnFlag;
}
管用不?
}
xuxianan 2009-12-09
  • 打赏
  • 举报
回复
这是现在的方法 我用boolean来判断是一样的吧 前台判断是true或false然后返回input或success.

/ 新增用户信息;
public boolean insertUserInfo(User user) {
Session session = this.getHibernateTemplate().getSessionFactory().openSession();
boolean flag = false;
try {
session.beginTransaction();
this.getHibernateTemplate().save(user);
session.beginTransaction().commit();
flag = true;
} catch (Exception e) {
logger.error("存储数据异常!",e);
e.printStackTrace();
flag = false;
}
return flag;
}

但还有问题.我数据库中设置的username是unique.不允许重复的.我第一次注册没有问题.会显示注册成功.我想看下注册失败是怎样的提示.然后又输入相同的数据进行注册.就报错了.提示某字段重复.换个字段就没问题.如何操作?

在发个疑问: 我想要的那种就是 注册成功了 弹出一个注册成功.注册失败的话也会出现注册失败的提示.

后台我这样判断对吗? 我觉得有点问题吧.
羽蓝 2009-12-09
  • 打赏
  • 举报
回复
DAO里面的save方法原来是void的是吧。现在改成int类型的。然后在声明一个:int number=0;在try里面写number=1;在catch里面写number=0;然后根据返回的是1或者0判断注册是否成功。谢谢!

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧