VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 643|回复: 4

一个Struts的问题,很急,在线等.......

[复制链接]

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-1-11 17:20:01 | 显示全部楼层 |阅读模式

struts 在action端进行校验以后,应该会将错误信息返回到页面,如果我要自己写代码获取错误信息,主要是想获取出现错误的field的property,不知道有没有什么办法获取?

我的意图: 获取出现错误的field的property, 比如userName, 除了用<html:errors />显示错误以外,我还想highlight出错的field

谢谢!!
回复

使用道具 举报

0

主题

39

帖子

23.00

积分

新手上路

Rank: 1

积分
23.00
发表于 2020-1-16 12:00:01 | 显示全部楼层
highlight通过CSS来控制
回复

使用道具 举报

1

主题

21

帖子

19.00

积分

新手上路

Rank: 1

积分
19.00
发表于 2020-1-16 15:27:01 | 显示全部楼层
还是不明白你的意思。
我假设你是通过actionform来验证的
出错的话struts把一个错误集合加到request里面
你页面除了用html:errors 还可以用<%  request.getAttribute(xxxxxxx) %>来判断并且作处理
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-1-16 17:45:01 | 显示全部楼层
highlight的确通过CSS来控制,可是我怎么在JSP页面上面捕捉出错的域呢?
比如:
<div id="userName_">User Name: <html:text property="userName" value=""/></div>

如果校验出错了,那么可以通过html:errors 显示错误信息, 可是我同时想通过自己的代码捕捉到是哪个区域出错,比如这里是userName,这样可以通过改变<div id="userName_">的CSS或者style来highlight. 问题就是,我怎么通过自己的代码捕捉到是哪个区域出错.

如果用request.getAttribute(xxxxxxx),那么xxxxxxx 代表的是什么?

谢谢!
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-1-17 20:27:01 | 显示全部楼层
问题我已经解决,谢谢各位!

Enumeration e = request.getAttributeNames();
        while(e.hasMoreElements()){
                String key = (String)e.nextElement();
                if(key == Globals.ERROR_KEY){
                        Object value = request.getAttribute(key);
                        ActionErrors errors = (ActionErrors)value;
                        String errorsString = errors.toString();
                           System.out.println(errorsString );
                     }
                 }

所有的error信息都在request中.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表