Struts 2 requiredstring 验证示例

17 Mar 2025 | 阅读 2 分钟

requiredstring 验证器指定字符串不能为空或空白。

默认情况下它会修剪字符串,然后检查其长度是否大于 0。

requiredstring 验证器的参数

为 requiredstring 验证器定义了两个参数。

参数描述
fieldName指定要验证的字段名称。它仅在 Plain-Validator 中是必需的。
trim修剪字段值。默认情况下,它为 true,这意味着它默认启用。

requiredstring 验证器的示例

<validators>
    <!-- Plain-Validator Syntax -->
    <validator type="requiredstring">
        <param name="fieldName">username</param>
        <param name="trim">true</param>
        <message>username is required</message>
    </validator>
    
</validators>
<validators>
    <!-- Field-Validator Syntax -->
    <field name="username">
    	  <field-validator type="requiredstring">
            <param name="trim">true</param>
            <message>username is required</message>
       </field-validator>
    </field>

</validators>

requiredstring 验证器的完整示例

1) 创建 index.jsp 用于输入

此 jsp 页面使用 struts UI 标签创建一个表单。它接收用户的姓名、密码和电子邮件 ID。

index.jsp
<%@ taglib uri="/struts-tags" prefix="s" %>
<html>
<head>
<STYLE type="text/css">
.errorMessage{color:red;}
</STYLE>
</head>
<body>

<s:form action="register">
<s:textfield name="username" label="Username"></s:textfield>
<s:password name="userpass" label="Password"></s:password>
<s:submit value="register"></s:submit>
</s:form>

</body>
</html>

2) 创建 action 类

此 action 类继承 ActionSupport 类并覆盖 execute 方法。

RegisterAction.java
package com.javatpoint;

import com.opensymphony.xwork2.ActionSupport;

public class Register extends ActionSupport{
private String username,userpass;

public String getUsername() {
	return username;
}

public void setUsername(String username) {
	this.username = username;
}

public String getUserpass() {
	return userpass;
}

public void setUserpass(String userpass) {
	this.userpass = userpass;
}

public String execute(){
	return "success";
}

}


3) 创建验证文件

在这里,我们使用捆绑的验证器来执行验证。

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

  <!DOCTYPE validators PUBLIC 
  		"-//OpenSymphony Group//XWork Validator 1.0.2//EN" 
  		"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

  		<validators>
  		
  		<field name="username">
  		<field-validator type="requiredstring">
  		<message>Name can't be blank</message>
  		</field-validator>
  		</field>
  		
  		
  		</validators>

4) 创建 struts.xml

此 xml 文件通过名称 input 定义了一个额外的结果,并定义了一个拦截器 jsonValidatorWorkflowStack。

struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>

<package name="default" extends="struts-default">
<action name="register" class="com.javatpoint.Register">
<result name="input">index.jsp</result>
<result>welcome.jsp</result>
</action>

</package>
</struts>    
 

5) 创建视图组件

这是一个简单的 jsp 文件,显示用户的信息。

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

Welcome,<s:property value="username"/>