struts备忘(转)

=======<html:messages>============
Action 中 :
ActionMessages message = new ActionMessages();
message.add(" 消息句柄 ",new ActionMessage(" 资源文件中 Key 值 ",String 类型描述信息 ));
this.addMessages(request,message);
return ActionForward;
JSP 页面中 :
<html:messages id=" 指定使用消息的标识 " property=" 消息句柄 " message="true|false">
<bean:write name=" 以上所指 ID 标识 "/>
</html:messages>

==========<html:errors>==============
Action 中 :
ActionMessages message = new ActionMessages();
message.add(" 消息句柄 ",new ActionMessage(" 资源文件中 Key 值 ",String 类型描述信息 ));
this.saveErrors(request,message);
return ActionForward;
JSP 页面中 :
<html:errors property=" 消息句柄 "/>

如果Action中这样设定(false),页面的提示信息将不从资源文件里读取:
ActionMessages message = new ActionMessages();
message.add("消息句柄",new ActionMessage("String类型描述信息",false));
this.saveErrors(request,message);
return ActionForward;
JSP页面:
<html:errors/>或<html:errors property="消息句柄"/>


<logic:messagesPresent>和<logic:messagesNotPresent>标签
<logic:messagePresent>和<logic:messageNotPresent>标签用来判断是否在request范围内在在指定的

ActionMessages(或其子类ActionErrors) 对象, 以及在ActionMessages 对象中是否存特定的信息

<logic:messagesPresent> 存在指定信息
<logic:messagesNotPresent> 不存在指定信息

A. name 属性 : 指定request 范围内检索ActionMessages 对象的属性key.
B. message 属性 : 如果为 true , 则从request 范围内检索属性key 为Globals.MESSAGE_KEY 的ActionMessages , 此时name 属性指定值无效; 如果为false , 则根据 name属性指定key, 从request 范围内检索ActionMessages 对象; 如果此时没有设置name 属性, 则默认的属性key 为lobals.ERROR_KEY.
C. property 属性 : 指定从 ActionMessages 对象中检索某条消息的消息 key.

流程:
(1) 把 name 变量赋值给局部变量 key, 这个变量将用于在 request范围内检索 ActionMessages 对象.
(2) 如果 message 变量为 true , 就把局部变量 key 设为 Globals.MESSAGE_KEY 此时设置 name 是无效的.
(3) 调用 TagUtils.getInstance().getActionMessages(pageContext, key) 方法, 获得 request 范围内的ActionMessages 对象.
(4) 如果 property 变量不为null, 将再判断在 ActionMessages 对象中是否包含由property变量指定的消息key.


<%
ActionErrors errors = new ActionErrors();
errors.add("totallylost", new ActionMessage("application.totally.lost"));
request.setAttribute(Globals.ERROR_KEY, errors);
request.setAttribute("myerrors", errors);
%>
1. 从request 范围内检索属性key 为Globals.ERROR_KEY 的 ActionMessages 对象, 其判断结果为 true 将执行标签主体内容.
<logic:messagesPresent>
Yes, there are errors.
</logic:messagesPresent>

2. 从request 范围内检索key为"myerrors" 的ActionMessages 对象,其判断结果为true, 将执行标签主体的内容.
<logic:messagesPresent name = "myerrors">
Yes, there are errors in myerrors collection.
</logic:message>

3. 从request 范围内检索属性key 为Globals.MESSAGE_KEY的ActionMessages 对象, 由于不存在这样的ActionMessags 对象, 其判断结果为 true, 将执行标签主体内容.
<logic:messagesNotPresent message = "true">
There are no normal messages.
</logic>

4. 从request 范围内检索属性 key 为Globals.ERROR_KEY 的ActionMessages 对象, 然后再从ActionMessages 对象中检索消息key 为"noSuchError" 的消息, 由于不存在这样的消息, 其判断结果为true , 将执行标签主体内容.
<logic:messagesNotPresent property = "noSuchError">
There is no error name "SuchError".
</logic:messageNotPresent>

5. 从 request 范围内检索属性key 为Globals.ERROR_KEY 的ActionMessages 对象, 然后再从ActionMessages 对象中检索消息key 为"totallylost" 的消息, 判断结果为true, 将执行标签主体的内容.
<logic:messagesPresent property = "totallylost">
There is an error named "totallylost".
</logic:messagePresent>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值