我正在使用Spring MVC来构建我的Web应用程序,我有一个关于验证我在URL中收到的参数的问题.检测无效参数和向用户显示错误的最佳方法是什么?
假设我有一个"查看用户配置文件"页面.显示的配置文件基于URL中指定的用户ID参数.我可能会转到以下地址查看ID为92的用户的个人资料:
http://www.somedomain.com/profile.html?id=92
我创建了一个ProfileControlller
对象,它将执行以下操作:
id
从request
对象中获取参数
UserProfile
从我的数据库加载对象
将UserProfile
对象添加到模型中
ModelAndView
使用我的模型和"查看用户配置文件"JSP 构建一个
如果用户输入有效的ID号,那就可以正常工作.UserProfile
使用JSP完全加载和显示我的对象.但是,如果有人将用户ID传递-30294
给我的页面呢?null
如果ID无效,我的数据访问层将只返回一个对象,但我想向用户显示一个友好的错误消息.检查null
UserProfile
JSP代码中的对象真的是最好的解决方案吗?
由于我是春天的新手,我不确定.我喜欢Validator
类可以与FormController
对象一起使用的方式,如果有任何帮助的话.
如果DAO返回null,只需为错误页面返回ModelAndView.
例:
UserProfile profile = userProfileDao.findUserProfileById(userId); if (profile == null) { return new ModelAndView("Error", "message", "Invalid user ID"); } else { // process accordingly. }
在Spring 2.5发行版中,检查samples目录中的jpetstore应用程序.查找org.springframework.samples.jpetstore.web.spring.SignonController以获取应用程序的简单示例.