问题描述
- 麻烦大家帮我看看,出现这种现象是为什么?
-
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页面贴出来看看。这样看不出问题
解决方案四:
是不是没有提交事务啊
时间: 2025-01-21 17:51:42