`
weigang.gao
  • 浏览: 488519 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

使用addFieldError方法和s:fieldError标签简单处理数据校验(5)

 
阅读更多
简单的数据验证:使用addFieldError方法和s:fieldError标签简单处理数据校验(一般不使用)

1.编写index.jsp

<?xml version="1.0" encoding="GB18030" ?>
<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>

<% 
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030" />
<base href="<%=basePath %>"/>
<title>Insert title here</title>
</head>
<body>
使用addFieldError方法和s:fieldError标签简单处理数据校验
<a href="user/user!add?name=a" >添加用户</a>


	
</body>
</html>

 

2.编写action

package com.bjsxt.struts2.user.action;

import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport {
	private String name;
	
	public String add() {
                //对name属性进行校验
		if(name == null || !name.equals("admin")) {
			this.addFieldError("name", "name is error");//调用addFieldError方法,将提示信息存放到value stack contents中
			this.addFieldError("name", "name is too long");//查看值栈中的内容,可以同一个name可以对应多个值
			return ERROR;
		} 
		return SUCCESS;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
}

 

3.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.devMode" value="true" />
    <package name="user" extends="struts-default" namespace="/user">
        <action name="user" class="com.bjsxt.struts2.user.action.UserAction">
            <result name="error">/error.jsp</result>
        </action>
    </package>
</struts>

 

4.编写error.jsp,使用struts的标签获取错误信息

<?xml version="1.0" encoding="GB18030" ?>
<%@ page language="java" contentType="text/html; charset=GB18030"
    pageEncoding="GB18030"%>
<%@taglib uri="/struts-tags" prefix="s" %><!--使用struts2的标签-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030" />
<title>Insert title here</title>
</head>
<body>
	User Add Error!
        <!--提示信息会有默认的样式,不实用。可以从浏览器中查看源码-->
	<s:fielderror fieldName="name" theme="simple"/><!--获取value stack contents的数据-->
	<br />
	<s:property value="errors.name[0]"/><!--使用OGNL表达式获取value stack contents中的内容-->
	<s:debug></s:debug><!--使用这个标签可以查看value stack contents中的数据-->
</body>
</html>
分享到:
评论

相关推荐

    struts2 简单数据校验

    Struts2是一个非常流行的Java ...你可以通过解压文件,学习和理解Struts2数据校验的详细步骤和实践方法。这个压缩包对于学习和掌握Struts2数据校验机制非常有帮助,特别是对于那些希望提升Java Web开发技能的人来说。

    jsp字段校验与非字段校验

    在JSP中,可以使用内置的EL(Expression Language)表达式或自定义标签库(如Struts2的validate标签)来实现字段校验。例如,验证邮箱的代码可能如下: ```jsp &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; &lt;s:...

    Struts2的输入校验实例代码

    如果校验失败,Struts2会自动重定向到`input`视图(即`register.jsp`),并在页面上显示错误信息(通过`s:fielderror`标签)。 6. **struts.xml配置**: 配置文件中,`&lt;action&gt;`元素定义了`login`动作,指定`...

    在Struts 2.0中实现表单数据校验

    在进行任何校验之前,通常需要先将用户的输入数据转换为应用程序可以理解和使用的格式。例如,将文本字符串转换为日期或数字等类型。 #### 四、示例详解 为了更好地理解如何在Struts 2.0中实现表单数据校验,下面...

    Struts2+Hibernate+Spring项目小结――Struts2部分总结

    1. 使用`&lt;s:fielderror/&gt;`标签展示错误信息。Struts2提供了一个内置标签`s:fielderror/&gt;`,它可以自动找到ActionContext中保存的错误信息并显示在页面上。 2. 搭配使用`&lt;s:reset/&gt;`标签。此标签用于清空表单的字段...

    Struts2输入校验总结

    5. **内置校验器**:Struts2提供了丰富的内置校验器,覆盖了从简单的类型检查到复杂的数据验证。例如`required`用于检查字段是否为空,`int`和`double`用于数值类型检查,`email`用于电子邮件地址验证等。 综上所述...

    struts2的自定义校验器例子

    5. **错误处理** 当验证失败时,Struts2会自动将错误信息添加到ActionContext中,可以在JSP页面中使用OGNL表达式显示这些错误。 ```jsp &lt;s:if test="hasFieldErrors('exampleField')"&gt; &lt;s:fielderror field=...

    很有用的java试题

    在视图层,如form.jsp,可以使用`s:fielderror`标签显示错误信息: ```html &lt;s:fielderror key="msg.name"/&gt; &lt;s:form action="test!save" name="test"&gt; &lt;s:textfield name="name"&gt;&lt;/s:textfield&gt; &lt;s:submit&gt;&lt;/...

    validate 方法验证

    错误信息可以通过`&lt;s:actionerror&gt;`和`&lt;s:fielderror&gt;`标签在JSP页面上显示。 4. **成功信息**:在验证成功后,如果需要向用户展示一些提示信息,可以使用`addActionMessage`方法添加。这些信息将在表单提交成功后...

    struts 验证技术的ppt

    1. **JSP页面**:在注册页面`register.jsp`中,使用`&lt;s:fielderror/&gt;`标签显示错误信息,并通过表单提交数据。 2. **Action类**:在`RegisterAction`中,重写`validate()`方法,检查用户名和密码的长度,若不符合...

    struts2验证.pdf

    为了确保系统的稳定性和安全性,必须在校验通过后才将数据传递给业务逻辑层处理。 ##### 1.2 客户端校验与服务器端校验的区别 - **客户端校验**:通常利用JavaScript等技术在用户提交表单前进行快速校验,可以提供...

    使用struts2进行输入校验

    本篇文章将详细介绍如何在Struts2中进行输入校验,包括两种主要实现方式:使用Action中的`validate()`方法和使用XML文件。 1. 使用Action中的`validate()`方法: 在Struts2中,每个Action类都可以包含一个名为`...

    struts2学习笔记

    这些错误信息可以在视图层使用Struts标签如&lt;s:fielderror&gt;或&lt;s:textfield&gt;展示。当遇到类型转换错误时,Struts2框架会自动处理并添加错误信息。输入校验的顺序是:首先进行类型转换,接着执行校验,如果两者都未发现...

    Struts中使用validate()输入校验方法详解

    - `&lt;s:fielderror&gt;` 标签:用于显示字段级别的错误信息,这允许开发者更精细地控制错误信息的呈现,例如将不同类型的错误信息设置为不同的颜色。 3. **日期比较** 示例代码展示了如何比较两个日期(`birthday` 和...

    struts2 -2.3.15.3-验证框架简单实现mode

    在Struts2的2.3.15.3版本中,集成的验证框架是其核心功能之一,帮助开发者确保用户输入的数据质量和安全性。本篇将详细讲解如何在Struts2中实现一个简单的验证框架模式。 首先,我们需要了解Struts2验证框架的基本...

    Struts2基础面试题

    - **传递方式**:在`validate()`方法中使用`addFieldError()`方法添加错误信息,然后在JSP页面中使用`&lt;s:fielderror/&gt;`标签来展示这些错误信息。 #### 10. 文件上传的要求 - **页面配置**:为了支持文件上传,表单...

Global site tag (gtag.js) - Google Analytics