struts2之addActionMessage的使用

   addActionMessage(),addActionError(),hasFieldErrors()方法是ActionSupport类中的方法,作用在于后天添加信息之后前台可以通过特定的方式获取到,现在我们就特此讲一下addActionMessage()方法,这个方法可以作为提示框,一般用在插入,删除,更新的操作中,下面我老模拟实现一下功能来看看他的效果:

           1.首先需要在继承了actionSupport类中的某个方法中使用addActionMessage()

         如根据id删除数据,删除成功跳到另外一个查询action方法,查询数据再返回前台。

步骤1:

         

 /**
		 * 根据id删除对应周期性事件
		 * @throws UnsupportedEncodingException 
		 */
		public String deletePeriodicEventById() throws UnsupportedEncodingException{
		    if(eventManageService.deletePeriodicEventById(periodicEvent.getId())){
		    	actionMsg="删除成功!";
		    	actionMsg=java.net.URLEncoder.encode(actionMsg,"utf-8");
		    	return "deleteSuccess";	
		    }
		    actionMsg="数据异常,删除失败!";
		    actionMsg=java.net.URLEncoder.encode(actionMsg,"utf-8");
		    return "deleteError";	
		}

步骤2:配置文件进入查询action方法

<result name="deleteSuccess" type="redirectAction">
<param name="actionName">loadAllPeriodicEvent</param>
               <param name="namespace">/periodicevent</param>
               <param name="actionMsg">${actionMsg}</param> 
</result>

步骤3:使用addActionMessage(String msg)方法

/**
		 * 查询所有周期性事件
		 * @return
		 * @throws UnsupportedEncodingException 
		 */
		public String loadAllPeriodicEvent() throws UnsupportedEncodingException{
			if(actionMsg!=null){
				actionMsg=java.net.URLDecoder.decode(actionMsg,"utf-8");
				addActionMessage(actionMsg);
			}
			pageBean = eventManageService.loadAllPeriodicEvent(page,PAGE_SIZE);
		  setPageBean(pageBean);	
		  return "loadAllPeriodicEvent";
		}

步骤4:返回前台

       <action name="loadAllPeriodicEvent" class="periodicEventAction" method="loadAllPeriodicEvent">
            <result name="loadAllPeriodicEvent"> 
                <param name="location">/admin/periodicevent_ck.jsp</param>
            </result>
            <interceptor-ref name="myStack"/>
       </action>

步骤5:前台取出提示

<s:if test="hasFieldErrors()">
<e:msgdialog basepath="<%=basePath%>">
<s:fielderror />
</e:msgdialog>
</s:if>
<s:if test="hasActionErrors()">
<e:msgdialog basepath="<%=basePath%>">
<s:actionerror />
</e:msgdialog>
</s:if>
<s:if test="hasActionMessages()">
<e:msgdialog basepath="<%=basePath%>">
<s:actionmessage />
</e:msgdialog>

</s:if>


显示还可以使用其他方法:比如alert();通过其他方式获取也是可以的。或者把<e:msgdialog>直接用alert代替都是可以的。这没有谁好谁坏。就看个人习惯。一起进步吧。有什么不对的地方忘指出。其他两个方法也是同理,这个如果自己需要就自己研究吧。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值