目录结构:login.jsp在WebContent下,Content文件夹放css,Scripts放js,其他视图都放在web-inf下的home里 ,login.jsp是纯粹的表单提交,name和password,提交到叫做login的controller: ,controller返回视图名Contact,是web-inf下home下的Contact.jsp,如果name和password都正确,正常跳到Contact.jsp,如果不正确,怎么正确提示呢?表单提交只能返回视图名,不用ajax是因为ajax不能根据视图名跳转,想跳转就要在success的回掉函数里location.href = '<%=path%>/home/Contact.jsp';,我Contact.jsp在web-inf下,显然不能跳转,如果视图在webContent下,完全可以用ajax,能提示能跳转;那么视图在web-inf下,怎么才能提示和跳转呢?
4 个解决方案
#1
错误一般都会request存储一个错误信息,然后在返回到login视图中去!
login视图检查是否有错误信息,有就显示错误信息!
login视图检查是否有错误信息,有就显示错误信息!
#2
1. "表单提交只能返回视图名" 这个有问题. 可以返回modelandview 或者 在形参 中添加 Model .具体的搜索一下吧.
2.尽量不要直接跳转jsp页面 ,最好 通过controller再返回到相应 的视图
3.登录时 对于 账号密码错误 提示 还是 就单一 提示 账号或密码错误 就好. 因为 只提示密码错误的话 会被 别人不断尝试的.
2.尽量不要直接跳转jsp页面 ,最好 通过controller再返回到相应 的视图
3.登录时 对于 账号密码错误 提示 还是 就单一 提示 账号或密码错误 就好. 因为 只提示密码错误的话 会被 别人不断尝试的.
#3
如果发生错误,使用ModelAndView的addObject方法设置错误信息,使用setViewName方法重新转发到登录页面
#4
感谢大家的回答,我找到自己的错误了,之前以为location.href只能跳到jsp,请求controller跳转就完全ok了
#1
错误一般都会request存储一个错误信息,然后在返回到login视图中去!
login视图检查是否有错误信息,有就显示错误信息!
login视图检查是否有错误信息,有就显示错误信息!
#2
1. "表单提交只能返回视图名" 这个有问题. 可以返回modelandview 或者 在形参 中添加 Model .具体的搜索一下吧.
2.尽量不要直接跳转jsp页面 ,最好 通过controller再返回到相应 的视图
3.登录时 对于 账号密码错误 提示 还是 就单一 提示 账号或密码错误 就好. 因为 只提示密码错误的话 会被 别人不断尝试的.
2.尽量不要直接跳转jsp页面 ,最好 通过controller再返回到相应 的视图
3.登录时 对于 账号密码错误 提示 还是 就单一 提示 账号或密码错误 就好. 因为 只提示密码错误的话 会被 别人不断尝试的.
#3
如果发生错误,使用ModelAndView的addObject方法设置错误信息,使用setViewName方法重新转发到登录页面
#4
感谢大家的回答,我找到自己的错误了,之前以为location.href只能跳到jsp,请求controller跳转就完全ok了