• 数据校验(2)--demo1---bai


    input_score.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>
            <form action="score.action" method="post">
      
      用户名:   <input name="sname" /><br/>
      成绩:   <input name="score" /><br/>
     补考成绩:   <input name="score2" /><br/>  
         <input type="submit" value="注册"/>
        </form>
      </body>
    </html>
    

      

    showscore.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 'show.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>
        ${sname },${score }
      </body>
    </html>
    

      

    showerror.jsp
    
    <%@ 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 'showerror.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>
        出错信息如下:<s:fielderror/>
      </body>
    </html>
    

      

    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" />
    	<package name="p" namespace="/" extends="struts-default">
    		<action name="score" class="com.etc.action.ScoreAction">
    			<result>
    				/showscore.jsp		
    		        </result>
    			<result name="input">
    				/showerror.jsp		
    		        </result>
    		</action>
    	</package>
    </struts>    
            
    

      

    ScoreAction
    
    package com.etc.action;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    public class ScoreAction extends ActionSupport 
    {
    	private String sname;
    	private Integer score;
    	private Integer score2;
    	public String getSname() {
    		return sname;
    	}
    	public void setSname(String sname) {
    		this.sname = sname;
    	}
    	
    	/*
    	@Override
    	public void validate() 
    	{
    		if(score<0||score>60)
    			this.addFieldError("score","成绩非法!");
    	}
    	*/
    	
    	public Integer getScore() {
    		return score;
    	}
    	public void setScore(Integer score) {
    		this.score = score;
    	}
    	public Integer getScore2() {
    		return score2;
    	}
    	public void setScore2(Integer score2) {
    		this.score2 = score2;
    	}
    	public String execute()
    	{
    		return "success";
    	}
    	
    }
    

      

    ScoreAction-validation.xml
    
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE validators PUBLIC 
    "-//Apache Struts//XWork Validator 1.0.2//EN" 
    "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
    <validators>
     <validator type="requiredstring"><!-- 必填字符串字段 -->
     	<param name="fieldName">sname</param>
     	<message>uid不能为空</message> 
     </validator>
    
    
    <validator type="required"><!-- 必填字段 -->
     	<param name="fieldName">score</param>
     	<message>score不能为空</message> 
     </validator>
    
    <validator type="required"><!-- 必填字段 -->
     	<param name="fieldName">score2</param>
     	<message>score2不能为空</message> 
     </validator>
    
     
     <validator type="int">  <!-- 整数校验器 -->
     	<param name="fieldName">score</param>
     	<param name="max">100</param>
     	<param name="min">0</param>
     	<message>成绩必须在${min}-${max}之间!</message>
     </validator>
     
      <validator type="int">  <!-- 整数校验器 -->
     	<param name="fieldName">score2</param>
     	<param name="max">100</param>
     	<param name="min">60</param>
     	<message>补考成绩必须在${min}-${max}之间!</message>
     </validator>
     
    </validators>  		
    
      		
      		 
    

      

    validators.xml
    
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE validators PUBLIC
            "-//OpenSymphony Group//XWork Validator Config 1.0//EN"
            "http://www.opensymphony.com/xwork/xwork-validator-config-1.0.dtd">
    
    <!-- START SNIPPET: validators-default -->
    <validators>
        <validator name="required" class="com.opensymphony.xwork2.validator.validators.RequiredFieldValidator"/>
        <validator name="requiredstring" class="com.opensymphony.xwork2.validator.validators.RequiredStringValidator"/>
        <validator name="int" class="com.opensymphony.xwork2.validator.validators.IntRangeFieldValidator"/>
        <validator name="long" class="com.opensymphony.xwork2.validator.validators.LongRangeFieldValidator"/>
        <validator name="short" class="com.opensymphony.xwork2.validator.validators.ShortRangeFieldValidator"/>
        <validator name="double" class="com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator"/>
        <validator name="date" class="com.opensymphony.xwork2.validator.validators.DateRangeFieldValidator"/>
        <validator name="expression" class="com.opensymphony.xwork2.validator.validators.ExpressionValidator"/>
        <validator name="fieldexpression" class="com.opensymphony.xwork2.validator.validators.FieldExpressionValidator"/>
        <validator name="email" class="com.opensymphony.xwork2.validator.validators.EmailValidator"/>
        <validator name="url" class="com.opensymphony.xwork2.validator.validators.URLValidator"/>
        <validator name="visitor" class="com.opensymphony.xwork2.validator.validators.VisitorFieldValidator"/>
        <validator name="conversion" class="com.opensymphony.xwork2.validator.validators.ConversionErrorFieldValidator"/>
        <validator name="stringlength" class="com.opensymphony.xwork2.validator.validators.StringLengthFieldValidator"/>
        <validator name="regex" class="com.opensymphony.xwork2.validator.validators.RegexFieldValidator"/>
        <validator name="conditionalvisitor" class="com.opensymphony.xwork2.validator.validators.ConditionalVisitorFieldValidator"/>
        <validator name="myusername" class="com.etc.validator.MyUsernameValidator"/>
    </validators>
    <!--  END SNIPPET: validators-default -->
    

      

  • 相关阅读:
    20160419—JS备忘:服务器回发刷新页面提示重试的解决方案。
    JS备忘--子父页面获取元素属性、显示时间,iframe之间互相调用函数
    20160215--获取页面的高度和宽度
    20151013--设计模式六大原则(转载)
    20150915--文件下载
    20150909—Win10系统80端口被System占用
    GridView中实现CheckBox的全选
    Invoke和BeginInvoke的区别(转载)
    AJAX+图像验证码(一般处理程序)
    报表
  • 原文地址:https://www.cnblogs.com/ipetergo/p/6261559.html
Copyright © 2020-2023  润新知