现有两张表用户表和登录信息表,其中用户表的user_id是主键,且是登录信息表的外键。请问要怎么样在登录时得到用户id并且把登录的时间保存到登录信息表里。先贴上业务逻辑层的相关代码:
public void saveLog(int user_id,Date logtime){
Date newlog = new Date(System.currentTimeMillis()); 
Log log = new Log();
log.setLogtime(newlog);
userdao.saveLog(newlog); }然后是loginAction的相关代码:
public String execute() throws Exception {
Map session=ActionContext.getContext().getSession();
int user_id=userservice.userLogin(username, password);
if(user_id>0){  session.put("username", getUsername());
session.put("password", getPassword());
this.userservice.saveLog(user_id,logtime); 
return "success";  }
else return "error"; }要怎么改啊,求大神指点~~

解决方案 »

  1.   

    你那个用的struts2,不需要传递属性 的 直接传递对象就可以,在前台用惊悚片页面里用struts2的标签 在loginAction里定义私有的User类的对象  给你一个简单的代码 挺简单的 
    public class UserAction extends ActionSupport implements SessionAware {
    private Users user;
    private IUsersBiz userBiz;
    private Map<String, Object> session;

    public void setUserBiz(IUsersBiz userBiz) {
    this.userBiz = userBiz;
    }
    public Users getUser() {
    return user;
    }
    public void setUser(Users user) {
    this.user = user;
    } public String login() throws Exception{
    this.user=this.userBiz.findUsers(this.user);
    if (this.session!=null) {
    this.session.put("user", this.user);
    }
    return "funList";
    } @Override
    public void setSession(Map<String, Object> arg0) {
    this.session=arg0;
    }
    }
      

  2.   

    LZ你好,loginAction一个参数都没有嘛?拿到这些参数到库中查一下
      

  3.   

    你那不是已经获取到了username了嘛。写个方法根据username查出来userId不就行了。