Struts2 异常如何捕获处理

Azzurro 2013-11-26 12:18:10
jsp页面提交表单,假设action是login,有个参数user.username,

提交的时候url会是login?user.username=xxx,

正常提交的话是没有问题的,

但是难免用户会在地址栏“错误”输入login?user.usernaaaaaame=xxx

这时后台就会报异常:

警告: Error setting expression 'user.usernaaaaaame' with value '[Ljava.lang.String;@3bb3af'
ognl.NoSuchPropertyException: updates.model.user.usernaaaaaame

请问该如何处理这个异常?(我使用的是POST方式,但是用户这样还是可以提交的。)
...全文
469 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
李保强 2013-11-26
  • 打赏
  • 举报
回复
1、可以使用一个filter拦截一下所有的访问 2、出现错误就跳错误页面 3、是不是可以把URL重新包装,让用户看出它的含义,这样他就不会尝试了。
撼地神牛 2013-11-26
  • 打赏
  • 举报
回复
你action没这个属性,干嘛提交啊
  • 打赏
  • 举报
回复
这不很明显嘛,你user类中没有这个naaaaaame属性啊,你那么写,struts2会自动把这个值封装到user类中的naaaaame中,但这个属性不存在啊,所以会报这个错误。。。
u010016988 2013-11-26
  • 打赏
  • 举报
回复
login?user.usernaaaaaame=xxx
而且为什么要客户手动输入带参?你自己写个链接或跳转传递啊~我感觉你这样那么是不是随便什么人都可以试了?
u010016988 2013-11-26
  • 打赏
  • 举报
回复
NoSuchPropertyException==没有对应属性异常 updates.model.user.usernaaaaaame 你可以理解为更新查看 model(实体)user(类)里面的字段usernaaaaaame 是否存在或字段属性是否正确。 个人理解哈
撼地神牛 2013-11-26
  • 打赏
  • 举报
回复
9楼说的对
teemai 2013-11-26
  • 打赏
  • 举报
回复
你用POST提交。把GET提交禁用,或者GET提交的直接返回错误页面
ip147258369 2013-11-26
  • 打赏
  • 举报
回复
我说的情况是用户错误提交,或者恶意这样提交。[/quote] 还不如用js解决或者validate配置文件解决

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧