Www.helper3.com
热门关键字: php net javascript java
Struts2基础 专题
专题目录
您的位置:java > Struts2基础专题 > Struts2的ActionError&ActionMessage示例
Struts2的ActionError&ActionMessage示例
作者:--    发布时间:2019-11-20 10:14:33
本教程显示使用struts2的 actionerror 和 actionmessage 类。

1. actionerror – 是用来发送错误信息反馈给用户 - 通过 <s:actionerror/> 来显示。

<s:if test="hasactionerrors()">
   <div class="errors">
      <s:actionerror/>
   </div>
</s:if>

2. actionmessage – 用于发送信息的反馈消息给用户,通过 <s:actionmessage/> 来显示。

<s:if test="hasactionmessages()">
   <div class="welcome">
      <s:actionmessage/>
   </div>
</s:if> 

这里有一个简单的登录表单,如果用户名不等于“h3.com”将显示错误消息(actionerror),否则重定向到另一个页面,显示欢迎信息(actionmessage)。此外,所有的标签和错误消息检索来自资源包(属性文件)。

1. 文件夹结构

在myeclipse中创建一个web工程,名称为:struts2-errormsg,看这个项目结构,如下图:

2. 属性文件

一共有两个属性文件用来存储信息,其中 loginaction.properties 文件放在 com.h3.user.action 包下。

loginaction.properties

#welcome messages
welcome.hello = 你好
#error message
username.required = 用户名不可以为空
password.required = 密码不可以为空

global.properties

#global messages
global.username = 用户名
global.password = 密码
global.submit = 提交
global.reset = 重置

3. 动作-action

一个经典的动作类,做一个简单的检查,以确认用户名是否等于“h3.com",并使用 addactionerror()设置错误信息或addactionmessage()设置成功的消息。

package com.h3.user.action;

import com.opensymphony.xwork2.actionsupport;

public class loginaction extends actionsupport{

	private string username;
	private string password;
	 
	public string getpassword() {
		return password;
	}

	public void setpassword(string password) {
		this.password = password;
	}

	public string getusername() {
		return username;
	}

	public void setusername(string username) {
		this.username = username;
	}

	//business logic
	public string execute() {

		return "success";

	}

	//simple validation
	public void validate(){
		if("h3.com".equals(getusername())){
			addactionmessage("you are valid user!");
		}else{
			addactionerror("i don't know you, dont try to hack me!");
		}
	}
}

4. jsp页面视图

两个简单的jsp页面以及css样式自定义错误消息。

login.jsp

<%@ page contenttype="text/html; charset=utf-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>struts2 actionerror & actionmessage 示例</title>
<style type="text/css">
.errors {
    background-color:#ffcccc;
    border:1px solid #cc0000;
    width:400px;
    margin-bottom:8px;
}
.errors li{ 
    list-style: none; 
}
</style>
</head>
<body>
<h1>struts2 actionerror & actionmessage 示例</h1>
<s:if test="hasactionerrors()">
   <div class="errors">
      <s:actionerror/>
   </div>
</s:if>
<s:form action="validateuser">
    <s:textfield key="global.username" name="username"/>
    <s:password key="global.password" name="password"/>
    <s:submit key="global.submit" name="submit"/>
</s:form>
</body>
</html>

welcome.jsp

<%@ page contenttype="text/html; charset=utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>struts2 actionerror & actionmessage 示例</title>
<style type="text/css">
.welcome {
    background-color: #ddffdd;
    border: 1px solid #009900;
    width: 200px;
}
.welcome li {
    list-style: none;
}
</style>
</head>
<body>
    <h1>struts 2 actionerror & actionmessage示例</h1>
    <s:if test="hasactionmessages()">
        <div class="welcome">
            <s:actionmessage />
        </div>
    </s:if>
    <h4>
        <s:property value="gettext('welcome.hello')" />
        <s:property value="username" />
    </h4>
</body>
</html>

5. struts.xml

链接所有的在一起

<?xml version="1.0" encoding="utf-8" ?>
<!doctype struts public
"-//apache software foundation//dtd struts configuration 2.0//en"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
  <constant name="struts.custom.i18n.resources" value="global" />

  <package name="user" namespace="/user" extends="struts-default">
     <action name="login">
	 <result>/pages/login.jsp</result>
     </action>
     <action name="validateuser" class="com.h3.user.action.loginaction">
	 <result name="success">/pages/welcome.jsp</result>
	 <result name="input">/pages/login.jsp</result>
     </action>
   </package>
	
</struts>
在struts2,actionerror和actionmessage功能和用法与struts1非常相似。

6. 运行并测试

http://localhost:8080/struts2-errormsg/user/login.action


用户名是无效的,显示错误信息:<s:actionerror/>

用户名是有效的,显示欢迎信息:<s:actionmessage/>


源代码下载 – struts2-actionerror-actionmessage.zip


滚动到顶部 滚动到底部
网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
QQ群:570078429
网站备案号:
粤ICP备17073857号