Struts2--非表单标签

非表单标签

Struts2 的非表单标签主要用于在页面中生成非表单的可视化元素,以及输出在 Action 中封装的信息,如输出错误提示信息等。

常用的非表单标签有 <s:actionmessage>、<s:actionerror> 和 <s:fielderror> 标签,它们分别用于显示动作信息、动作错误信息和字段错误信息。如果信息为空,则不显示。各标签的具体功能介绍如下。

  • <s:actionmessage> 标签:如果 Action 实例的 getActionMessage() 方法返回不为 null,则该标签负责输出该方法返回的系列消息。
  • <s:actionerror> 标签:如果 Action 实例的 getActionError() 方法返回不为 null,则该标签负责输出该方法返回的系列错误。
  • <s:fielderror> 标签:如果 Action 实例存在表单域的类型转换错误和校验错误,则该标签负责输出这些错误提示。

示例:

1.创建Action:
在 struts2Demo 项目的 src 目录下新建一个名称为 pers.zhang.action 的包,并在包中新建一个名称为 MsgAction 的类,编辑后如下所示。

package pers.zhang.action;

import com.opensymphony.xwork2.ActionSupport;

public class MsgAction extends ActionSupport {
    public String execute() throws Exception {
        this.addActionMessage("<s:actionmessage>标签输出的内容");
        this.addActionError("<s:actionerror>标签输出的内容");
        this.addFieldError("msg", "<s:fielderror>标签输出的内容");
        return SUCCESS;
    }
}

2.创建配置文件:
在 src 目录下创建 Struts2 的配置文件 struts.xml,并添加 MsgAction 类的配置信息,其配置代码如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<action name="msg" class="pers.zhang.action.MsgAction">
    <result>/non_formTags.jsp</result>
</action>

3.创建页面:
在项目的 WebContent 目录下创建一个名称为 non_formTags.jsp 的页面,编辑后如下所示。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>errorTags</title>
</head>
<body>
    <s:actionmessage/>
    <s:actionerror/>
    <s:fielderror/>
    <s:fielderror value="msg"/><!-- 有无value效果一样 -->
</body>
</html>

4.运行项目查看结果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值