Struts2校验

struts2校验有两种实现方法:

手工编写代码实现(基本验证)


//login.jsp

<font color="red"><s:fielderror/></font>

<s:form action="login">

<s:textfield name="uname" label="user name"></s:textfield>

<s:password name="upass" label="pass word"></s:password>

<s:submit></s:submit>

</s:form>

//LoginAction.java里面重写validate方法

//校验失败则返回“input”,校验成功则执行execute方法

public void validate(){

if("".equals(uname)){

this.addFieldError("uname", "user name can not be null!");

}

if("".equals(upass)){

this.addFieldError("upass", "pass word can not be null!");

}

}

//如果针对不同的请求需要不同的验证方法

//比如说请求register和login两个不同的方法

//则对应书写validateRegister()和validateLogin()两个验证方法即可

基于XML配置方式实现(验证框架)

手动输入校验,虽然比在Servlet中能方便一点,但是还是出现了大量繁琐的编程代码。Struts2提供了更为高效、简易的校验框架,用户只需设置校验配置文件即可完成输入校验。

主要步骤就是在action同目录下创建一个xml格式的验证文件。

Login.jsp


<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<%@ taglib prefix="s" uri="/struts-tags" %>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<title>login page</title>

</head>

<body>

<s:form action="loginAction">

<s:textfield name="userName" label="用户名"></s:textfield>

<s:password name="passWord" label="用户密码"></s:password>

<s:submit></s:submit>

</s:form>

</body>

</html>

Struts.xml


<?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">

<struts>

<constant name="struts.i18n.encoding" value="UTF-8"></constant>

<package name="struts2" extends="struts-default" >

<action name="loginAction" class="com.silvan.action.LoginAction">

<result>/index.jsp</result>

<result name="input">/login.jsp</result>

</action>

</package>

</struts>

loginAction.java


package com.silvan.action;

import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport{

private String userName;

private String passWord;

public String login(){

return SUCCESS;

}

Get/set……

}

LoginAction-validation.xml与对应的Action类放入同一个文件夹下,并且以XxxAction-validation.xml的命名方式:(该xml校验文件的书写模板在xwork-core-2.1.6.jar包下的xwork-validator-1.0.3.dtd中可以查看)


<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE validators PUBLIC

"-//Apache Struts//XWork Validator 1.0.3//EN"

"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">

<validators>

<field name="userName">

<field-validator type="requiredstring">

<param name="trim">true</param>

<message>用户名不能为空xml</message>

</field-validator>

</field>

<field name="passWord">

<field-validator type="requiredstring">

<param name="trim">true</param>

<message>用户密码不能为空xml</message>

</field-validator>

</field>

</validators>

可拓展的知识点:

  1. 正则表达式;
  2. 实现错误提示信息的国际化。
时间: 2024-12-22 15:52:56

Struts2校验的相关文章

struts2校验细节

使用struts2框架进行输入校验,主要步骤: ①准备实体类 package com.struts2.validate.entities; public class User { private String name; private Integer age; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge(

Struts2 校验

Struts2校验格式: actionName-methodName-invalidation.xml  该配置文件必须和action类在同一个包下. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.

Struts2 校验框架学习笔记

Struts2 校验框架 Struts2 和Struts1同样也提供了校验框架,但在Struts2 已经不再把校验框架做为一个插件,而是已经内置到了Struts2中,而且配置起来更为简单方便,功能也更强大. 下面以一个例子来说明Struts2校验框架的使用. 1在myeclipse 中创建一个web工程,在src目录下创建struts.xml 配置文件,添加好xml标头,配置web.xml文件. 1-1.了解一下我做的简单例子需求,实现一个用户注册的功能,用户信息包括用户名,密码,确认密码,年龄

struts2校验器验证表单避免无效sql查询

一般网页登陆,最简单的来说是用户名和密码,但是用户可能没有按照正确的格式去输入从而会触发sql查询,但是这类查询会大大加重网站负担.为了避免这类问题,我们可以使用struts2校验器完成我们想要的结果. 我们假设有这样的表单: 用户名:<s:textfield name="loginName" cssClass="msg"></s:textfield> 密 码:<s:password name="loginPwd"

Struts2校验器

一.Struts2内建校验器 位于xwork-2.0.4.jar压缩包中( com.opensymphony.xwork2.validator.validators)有个文件default.xml ,该文件中定义了Struts2框架内建的校验器.default.xml文件定义了常用的校验器类型. <validators> <validator name="required" class="com.opensymphony.xwork2.validator.v

struts2 校验数据的有效性 2种方式

Struts2的数据校验: 数据的校验分为客户端校验和服务器端两种: 客户端校验:JS完成的校验.(为了提升用户体验.减少用户的输入错误) 服务器端校验:在后台的校验.(必须的.) 手动编码进行校验: 1.编写一个Action,这个Action必须继承ActionSupport. 2.重写validate方法:---针对Action中的所有方法进行校验. @Override // Struts2提供的数据校验的方法: public void validate() { if(username ==

struts2校验の实现

1.JSP <%@ page contentType="text/html; charset=utf-8" language="java" errorPage="" pageEncoding="utf-8" %> <%@taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE html PUBLIC "-//

struts2 校验demo

综合练习: <validators> <field name="username"> <field-validator type="requiredstring"> <message>用户名不能为空!</message> </field-validator> </field> <!-- 校验密码 --> <field name="password"

Struts2 校验数据问题

我们会经常遇到一下问题,例如我在前端输入数据,把数据发送到和后台,我首先要校验这个数据, 比如说:前端必须输入一个日期类型的数据,后端才能正确接收,要是输入一个不是日期型的数据, 那么后端就要把数据打回去,并且提示或者跳转到错误页面.那么怎么去校验呢? f废话不多说,直接添代码,最直观的方法. 前端代码: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%&