`

validator的使用,jsp回显提示信息

 
阅读更多
UserAction.java
package com.rs.struts2.web.action;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;
import org.jgroups.util.List;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.rs.struts2.model.User;
/**
 * @author 
 * @version 1.0
 * 
 * */
public class UserAction extends ActionSupport implements ModelDriven<User>{
	//struts2会自动new一个user对象,只需要给它setter和getter
	private User user=new User();
	private int a = 0;
	
	public String add(){
		addFieldError("add_success",getText("add.success"));
		addActionError("成功了");
		addActionMessage("成功了2");
		return "success";
	}
	public String addUser(){
		System.out.println("___________________");
		addFieldError("add_success",getText("add.success"));
		addActionError("成功了");
		addActionMessage("成功了2");
		return "success";
	}
	
	public String update(){
		addFieldError("update_success",getText("update.success"));
		return "success";
	}
	public String del(){
		HttpServletRequest request = ServletActionContext.getRequest();
		
		ArrayList list = new ArrayList();
		for (int i = 0; i <10; i++) {
			list.add(i);
		}
		
		request.setAttribute("name", "zheng-gang");
		request.setAttribute("list", list);
		request.setAttribute("number1", 10);
		
		addFieldError("del_success",getText("del.success"));
		return "success";
	}
	
	public String list(){
		addFieldError("list_success",getText("list.success"));
		return "success";
	}
	public User getModel() {
		return this.user;
	}
}



UserAction-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">  
    <param name="trim">true</param>  
    <message key="requiredadd.name"/> 
   </field-validator>
</field>
<field name="pwd">
<field-validator type="requiredstring">
	<param name="trim">true</param>
	<message key="requiredadd.password"></message>
</field-validator>
</field>
</validators>



ResourceMessages.properties
requiredadd.name = 用户名不能为空
requiredadd.password = 密码不能为空
add.success= 添加成功


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>
	 <constant name="struts.devMode" value="true" />
	 <constant name="struts.custom.i18n.resources" value="ResourceMessages" />
	 
	 <package name="User" namespace="/user" extends="struts-default">
        <action name="User_*" class="com.rs.struts2.web.action.UserAction" method="{1}">
        	<!-- 只允许add方法和update方法使用校验器 -->
        	<interceptor-ref name="defaultStack">
        		<param name="validation.excludeMethods">*</param>
        		<param name="validation.includeMethods">add,update,addUser</param>
        	</interceptor-ref>
        	<result name="success">/user_success.jsp</result>
        	<result name="input">/addUser.jsp</result>
        </action>
    </package>
</struts>




jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
  <hr/>
  <form action="<%=basePath%>user/User_addUser" method="post">
		<table>
			<tr>
				<td>姓名:</td>
				<td>
					<input type="text" name="username" msg="add.username">
				</td>
				<td>
					<s:fielderror><s:param name="username">username</s:param></s:fielderror>
					
				</td>
				
			</tr>
			<tr>
				<td>密码:</td>
				<td><input type="password" name="pwd" ></td>
				<td><s:fielderror><s:param name="pwd">pwd</s:param></s:fielderror></td>
			</tr>
			<tr><td>年龄:</td><td><input type="text" name="age" ></td><td></td></tr>
			<tr><td>电话:</td><td><input type="text" name="tel" ></td><td></td></tr>
			<tr><td>地址:</td><td><input type="text" name="address" ></td><td></td></tr>
			<tr><td>邮箱:</td><td><input type="text" name="email" ></td><td></td></tr>
			<tr><td><input type="submit" value="添加" ></td><td></td><td></td></tr>
		</table>
	</form>
</body>
</html>


login_success.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
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>Success</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>
  	<s:actionerror/><Br><s:actionmessage/><Br><s:fielderror><s:param>add_success</s:param></s:fielderror>
    <center><p><s:fielderror/></p></center> <br>
    <font color='red'>EL表达式 :格式为$ {  }</font><br>
     ${name}<br><hr>
    <font color='red'>c:out :输出值.escapeXml属性是过滤特殊字符(布尔类型的值);default属性是在value的值为null的情况下输出的值</font><br>
    <c:out value="${name}" default="无数据" escapeXml="false"></c:out><br>
    <c:out value="${null}" default="无数据" escapeXml="false"></c:out><br>
    <c:out value="${'&lt;'}" default="无数据" escapeXml="true"></c:out><br>
    <c:out value="${'&lt;'}" default="无数据" escapeXml="false"></c:out><br><hr>
    <font color='red'>c:forEach :items属性中可放置数组或集合对象,var属性里放置迭代后的对象</font><br>
    <c:forEach items="${list}" var="num">
    		&nbsp;&nbsp;${num}
    </c:forEach>
    <br>
    <c:forEach begin="1" end="11" step="2" var="n" >
    	&nbsp;&nbsp;${n}
    </c:forEach>
    <br>
    <c:forEach begin="1" end="90" step="5" var="n" >
    	&nbsp;&nbsp;${n}
    	<c:if test="${n>50}" var="sti">
    		sti返回true
    	</c:if>
    </c:forEach>
    <br><hr>
     <font color='red'>c:choose :结合c:when,c:otherwise 相当于java中的if/else组合</font><br>
    <c:choose>
    	<c:when test="${2>1}">
    		算对了
    	</c:when>
    	<c:otherwise>
    		算错了
    	</c:otherwise>
    </c:choose>
    <br><hr>
    <font color='red'>c:forTokens :类似java中的split截取字符串 ,delims属性是表示要截取的分隔符,var属性表示分隔后的单一对象</font><br>
    <c:forTokens items="speed,net,network,apple,iphone,android" delims="," var="nb">
    	${nb}
    </c:forTokens>
  </body>
</html>

分享到:
评论

相关推荐

    Vue表单验证插件Vue Validator使用方法详解

    在本文中,我们将深入探讨Vue Validator的使用方法及其核心特性。 首先,为了使用Vue Validator,我们需要在项目中引入Vue.js和Vue Validator的库文件。在示例代码中,引用了Vue 1.0.24和Vue Validator 2.1.3的CDN...

    [链接测试工具]HTML Link Validator使用手册

    [链接测试工具]HTML Link Validator使用手册

    hibernate Validator 使用指南

    《Hibernate Validator 使用指南》 Hibernate Validator 是一个强大的Java Bean验证框架,它基于JSR-303(Bean Validation)标准,提供了丰富的验证规则和自定义约束能力,使得开发者能够更方便地对Java对象进行...

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

    5. **处理验证结果**:在Action类中,Struts会自动调用验证器,如果验证失败,Action的execute方法不会执行,而是返回“input”结果,可以在JSP页面中显示错误信息。 **三、自定义验证器** 当内置的验证规则不能...

    jQuery validator addMethod 根据不同情况显示不同错误信息

    本文将深入探讨如何使用`jQuery validator addMethod`来根据不同的情况显示不同的错误信息。 `jQuery validator addMethod`是jQuery Validation Plugin中的一个关键功能,允许开发者自定义验证方法。当你发现内置的...

    bootstrap validator 使用简介

    接下来,我们将深入探讨Bootstrap Validator的使用方法和核心特性。 ### 一、引入Bootstrap Validator 首先,你需要在HTML文档中引入Bootstrap库和Bootstrap Validator的相关资源。这包括CSS样式文件、JavaScript...

    bootstrapValidator+Servlet+jsp 用户名remote检验存在

    8. **前端反馈**:根据Servlet返回的响应,BootstrapValidator会在前端显示相应的验证状态,比如如果用户名已存在,可以显示错误消息提示用户。 综上所述,这个项目涉及了前端验证、后端处理、数据库操作以及异步...

    struts中使用validator验证框架

    5. **Validation Results**:验证结果会被封装在FieldError对象中,这些错误信息可以被展示在JSP页面上,提供用户友好的反馈。 6. **Integration with Struts Controller**:Validator框架与Struts控制器紧密集成,...

    hibernate-validator示例demo

    用户填写的表单数据以JSON格式发送到服务器,`SpringMVC`的`@RequestBody`注解将JSON数据转换为Java对象,`Hibernate Validator`自动进行验证,如果验证失败则返回错误信息,否则继续处理业务逻辑。`Fastjson`在这里...

    bootstrapvalidator

    5. **反馈样式**:BootstrapValidator利用Bootstrap的类来提供反馈信息,例如`has-error`、`has-feedback`等。当输入无效时,插件会自动添加这些类到相应元素上,显示错误图标和提示。 6. **事件处理**:Bootstrap...

    Javascript Validator

    3. **错误提示**:优雅地显示错误信息,提升用户体验,可能包括弹窗提示、标记错误字段等方式。 4. **多语言支持**:为了适应不同地区的用户,控件可能内置了多语言资源,可以轻松切换。 5. **易用性与扩展性**:...

    Struts Validator 开发指南

    这段代码指示 Struts 使用 `ValidatorPlugIn` 类,并指定了两个配置文件的位置:`validator-rules.xml` 和 `validation.xml`。`validator-rules.xml` 文件定义了各种预置的验证器,而 `validation.xml` 文件则根据...

    一款jquery 表单插件还日历插件 formValidator3.1

    3. **提示信息**:可自定义错误提示信息,使用户更清楚地了解输入错误的原因。 4. **验证分组**:支持对表单元素进行分组验证,方便处理多个关联字段的验证逻辑。 5. **异步验证**:支持通过AJAX进行异步验证,...

    Validator

    下面我们将深入探讨`Validator`的几个关键概念和使用方法: 1. **验证注解**:这些注解是定义验证规则的核心。例如,`@NotNull`表示字段不能为空,`@Size(min=1, max=10)`则表示字段长度必须在1到10之间。还有许多...

    struts1.x使用common-validator验证框架

    6. **显示错误信息**:在JSP页面上,使用Struts标签库的`&lt;html:errors&gt;`标签来显示全局错误,以及`&lt;html:messages&gt;`标签来显示特定字段的错误。 除了基本的验证功能,Common-Validator还支持自定义验证器,通过实现...

    SpringBoot validator 完美实现+统一封装错误提示1

    (3条消息)SpringBoot validator 完美实现+统一封装错误提示 - 小单的博客专栏 - CSDN博客首页博客学院下载论坛问答商城活动专题招聘图

    BOOTSTRAP VALIDATOR 源码下载

    4. **错误提示**:Bootstrap Validator与Bootstrap的样式兼容,可以方便地显示美观的错误提示信息。错误消息可以通过`data-message`属性设置。 5. **实时验证**:插件可以实现输入时的实时验证,提供即时反馈,提升...

    structs中使用validator框架记事本

    同时,为了确保这些结构体中的数据在使用前符合预期,我们常常会使用`validator`框架来进行数据验证。这个框架提供了丰富的验证规则,可以方便地与`structs`结合,以保证数据的正确性和安全性。 `validator`框架是...

Global site tag (gtag.js) - Google Analytics