public class UpdateAction extends DispatchAction {
private UserServiceInter userService;
public void setUserService(UserServiceInter userService) {
this.userService = userService;
}
//修改信息,真正添加到数据库 updateInfo
public ActionForward updateInfo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
//将字符串转化为日期类型
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
//得到当前用户[从session取出]
Users loginUser = (Users) request.getSession().getAttribute("loginuser");
//从表单中获取修改个人的信息(birth,tel,website,msn,book,movie,music,sport,cartoon)
UserForm userForm = (UserForm)form;
try{
loginUser.setBirth(format.parse(userForm.getBirth()));
}catch(ParseException e){
e.printStackTrace();
}
loginUser.setTel(userForm.getTel());
loginUser.setWebsite(userForm.getWebsite());
loginUser.setMsn(userForm.getMsn());
loginUser.setBook(userForm.getBook());
loginUser.setMovie(userForm.getMovie());
loginUser.setMusic(userForm.getMusic());
loginUser.setSport(userForm.getSport());
loginUser.setCartoon(userForm.getCartoon());
//保存用户
userService.update(loginUser);
return mapping.findForward("goHomePageUI");
}
}
在JSP页面上采用el表达式读取数据库中的数据,例如${loginuser.birth}
但是我在JSP页面上输入数据并保存成功后,当我第二次登录时,页面上无法显示这些数据。请问这是为什么?
检查你数据库的保存操作是否成功
如果成功,检查:你是否用了正确的登录用户的id去数据库中取数据
,不要取成空数据或别人的数据,那么就会引发你说的问题。
首先,楼主要清楚的是,el表达式只对当前的一次请求有效。其次,你的loginuser是在login的时候就setAttribute了么,最后,建议楼主使用struts2或spring mvc来实现逻辑和页面的分离。
楼主说Jsp页面不显示内容,把jsp页面贴出来看看。这样看不出问题
是不是没有提交事务啊