`

Action基本的验证

阅读更多

JSP请求
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
	使用addFieldError方法和s:fieldError标签简单处理数据校验
	<a href="user/User_add?name=a" >添加用户</a>
  </body>
</html>

 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.i18n.encoding" value="UTF-8"></constant>
<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
    <package name="user" namespace="/user" extends="struts-default">
        
        <action name="*_*" class="com.lbx.action.{1}Action" method="{2}">
            <result name="success">/{1}_{2}_success.jsp</result>
            <result name="error">/{1}_{2}_error.jsp</result>
            <!-- {0}_success.jsp -->
        </action>
        
         <action name="regist" class="com.lbx.action.RegistAction">
            <result name="input">/regist.jsp</result>
            <result>/show.jsp</result>
        </action>
    </package>
    
</struts>

 通过struts.xml文件找到对应的Action(这里是通过addFileError方法来实现验证)

package com.lbx.action;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("serial")
public class UserAction extends ActionSupport{
	
	private String name;
	
	public String add() {
		System.out.println("name=" + name);
		if(name == null || !name.equals("admin")){
			this.addFieldError("name", "name is error");
			this.addFieldError("name", "name is too long");
			return ERROR;
		}
		return SUCCESS;
	}

	public String getName() {
		return name;
	}

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

}

 与之相对应的result:

success
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'user_add_success.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    用户添加成功!!!!  <br>
  </body>
</html>
 input
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'User_add_error.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    用户添加失败!! <br>
    <s:fielderror fieldName="name" theme="simple"></s:fielderror>
    <br>
    <s:property value="errors.name[0]"/>
    <s:debug></s:debug>
  </body>
</html>
 

分享到:
评论

相关推荐

    struts2登陆验证

    可以创建自定义的拦截器来检查Session中是否有已登录的用户,或者直接在Action中进行验证。 5. **数据验证**:在Action的`login()`方法中,需要对用户输入的数据进行校验。可以使用Struts2的Validator框架,通过...

    jQuery表单验证框架

    在HTML表单中,我们可以设置一些基本的验证规则,例如: ```html &lt;form class="cmxform" id="commentForm" method="get" action=""&gt; Name ``` 这里,`class="required"`表示字段`name`是必填的,`minlength=...

    struts2官方例子7-表单验证 xml形式的验证

    首先,让我们理解表单验证的基本概念。在Web应用中,当用户填写并提交表单时,服务器端需要对这些数据进行检查,确保它们符合业务逻辑要求。Struts2提供了两种主要的验证方式:基于注解的验证和基于XML的验证。本...

    struts验证器validator使用,以及自定义验证器

    **一、Struts验证器Validator的基本概念** Struts Validator是Struts框架提供的表单验证工具,它通过XML配置文件定义验证规则,可以对用户提交的数据进行有效性检查,确保输入符合业务逻辑的要求。Validator不仅...

    自定义 validate验证 struts1框架

    通过自定义`validate`验证,开发者不仅可以验证基本的数据类型,还可以进行复杂的业务规则验证,如检查唯一性、执行数据库查询等。这种机制增强了Struts1的灵活性,使得开发者可以根据项目需求构建更加健壮的表单...

    SSH实现登录验证

    以上是实现SSH登录验证的基本流程。在实际开发中,还需要考虑更多的细节,如异常处理、日志记录、国际化、以及与数据库或第三方服务的集成。学习和实践这些步骤将有助于提升你在Web安全和Struts2框架方面的技能。

    Java后台验证框架

    在实际开发过程中,特别是在action或facade层,我们需要实现统一的参数验证机制。这些场景通常涉及用户的输入,如表单提交的数据等,为了确保数据的有效性和安全性,需要进行严格的验证。例如,在用户注册或登录时,...

    MyEclipse+Struts2登录验证(工程源码)

    以上就是使用MyEclipse和Struts2实现登录验证的基本步骤。通过这个过程,你可以学习到Struts2的Action配置、JSP页面设计以及Action类中的业务逻辑处理。在实际项目中,可能还需要考虑更多细节,如异常处理、安全措施...

    android 自定义图片滑动验证

    首先,我们需要理解滑动验证的基本原理。它通常由两部分组成:静态背景图和可移动的滑块。用户需要通过触摸滑块并将其拖动到正确的位置来完成验证。在这个过程中,我们需要检测滑块的移动轨迹,并与预设的正确路径...

    struts2 自定义验证程序的实现方法详解

    例如,对于基本数据类型如字符串、数字等,Struts2 提供了如 RequiredStringValidator、IntegerRangeValidator 等验证器。这些验证器可以在配置文件中进行配置,非常方便。 然而,在某些复杂的业务场景下,可能需要...

    自定义Action实现Action接口(实现简单登录功能)

    在Struts2框架中,自定义Action是实现业务逻辑的核心组件。...不过,这个基本的示例足以帮助你理解Struts2中自定义Action的创建和简单登录功能的实现。通过这个起点,你可以逐步扩展和完善你的应用程序。

    js数字邮箱验证

    然后,我们使用条件语句来验证输入值是否满足电子邮件地址的基本语法。如果输入值满足电子邮件地址的基本语法,我们返回 `true`,否则返回 `false` 和警告提示。 五、完整示例代码 在以下示例代码中,我们将上述...

    js验证密码输入

    尽管给定的代码实现了基本的密码验证功能,但在实际应用中,我们还可以进行以下改进和优化: - **增强密码复杂度验证**:除了验证密码一致性,还应检查密码是否满足一定的复杂度要求,例如包含大小写字母、数字和...

    SSH框架网上商城项目第2战之基本增删查改、Service和Action的抽取

    在本SSH框架网上商城项目的第二阶段,我们将关注的重点放在了基本的数据操作,即增删查改(CRUD),以及业务逻辑层(Service)和控制层(Action)的抽象与抽取。这一过程对于任何基于SSH(Struts2、Hibernate、...

    登录页面验证功能

    这是最基本的验证步骤,确保用户在提交表单前已填写所有必需字段。在提供的代码片段中,JavaScript通过jQuery库进行非空验证。当用户离开(blur)特定字段时,例如用户名、密码和验证码,对应的验证函数会被触发。...

    struts2实现的简单登陆验证模块

    Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java Web开发,尤其在企业...通过对这些知识点的理解和实践,开发者能够掌握使用Struts2构建登录验证模块的基本步骤,并可将其扩展到更复杂的业务场景中。

    jquery表单验证插件

    在了解jQuery表单验证之前,我们先回顾一下jQuery的基本概念。jQuery通过简洁的语法,如`$(selector).action()`,使得JavaScript代码更加易读易写。其中,`selector`是用于选择元素的CSS选择器,`action`则是对这些...

    jsf用户输入验证

    JSF框架提供了一种隐式的验证机制,可以自动执行一些基本的验证任务,如类型转换和检查必填项。例如,`&lt;h:inputText&gt;` 组件有一个 `required` 属性,可以用来指定某个字段是否为必填项。 ##### 示例代码: ```xml ...

Global site tag (gtag.js) - Google Analytics