• struts2之二(输入校验)


    校验分为前台输入校验和后台服务器端校验,所以后台校验是最后一道屏障也是极其重要的!

    • 流程如下:
      先一个简单的jsp页面 ,然后直接提交给后台程序处理  ,最后返回到结果页面

    步骤一:配置struts2框架(参照struts之一)

    步骤二:配置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>
            <package name="struts" extends="struts-default">
                <action name="register" class="com.action.RegisterAction">
                    <result name="success">/success.jsp</result>
                    <result name="input">/fail.jsp</result>
                </action>
            </package>
        </struts>

    上面的:

    <result name="success">/success.jsp</result>是action类中execute()方法返回SUCCESS时会转到success.jsp页面

    <result name="input">/fail.jsp</result>是在jsp提交给某Action时,自动调用Set方法或校验时任何一个环节出错抛出异常了就会返回input,这里指定input所转向的页面为fail.jsp

    步骤三:建立RegisterAction.java

    package com.action;
    import com.opensymphony.xwork2.ActionSupport;

    public class RegisterAction extends ActionSupport {
        private String username;
        private String password;

        public void setUsername(String username) {//jsp请求到action后自动调用该对应的Set方法赋值
            this.username = username;
        }

        public void setPassword(String password) {
            this.password = password;
        }

        public String getUsername() {
            return username;
        }

        public String getPassword() {
            return password;
        }

        @Override
        public String execute() throws Exception {
            return SUCCESS;
        }

    }


    步骤四:校验在RegisterAction.java目录下建立一个RegisterAction—validation.xml文件,struts框架会中识别这个文件,在适当的时候调用它,其内容为:

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

        <field name="username">
            <field-validator type="requiredstring">
                <message>username can't be blank!</message>
            </field-validator>
            <field-validator type="stringlength">
                <param name="minLength">4</param>
                <param name="maxLength">7</param>
                <message>length of username should be between ${minLength} and 7</message>
            </field-validator>
        </field>
        <field name="password">
            <field-validator type="requiredstring">
                <message>password can't be blank!</message>
            </field-validator>
            <field-validator type="stringlength">
                <param name="minLength">4</param>
                <param name="maxLength">7</param>
                <message>length of password should be between ${minLength} and 7</message>
            </field-validator>
        </field>

    </validators>

    上面的意思大家应该看得懂吧,requiredstring的意思是不能为空!

    步骤五:jsp页面

    register.jsp

    <body>
      <form action="register.action">
       usenrame:<input type="text" name="username"><br>
       password:<input type="text" name="password"><br>
       <input type="submit">
       </form>
      </body>

    fail.jsp

    <%@ taglib prefix="s" uri="/struts-tags" %><!-- 记得加上struts标签库-->

    <body>
      <s:fielderror cssStyle="color:blue"></s:fielderror><!-- 此处使用struts标签库返回RegisterAction—validation.xml中出现的错误-->
      您的输入在后台验证时出错! <br>
    </body>

    success.jsp 内容为 哈哈!校验通过!!

  • 相关阅读:
    如何避免自己上传的视频或者音频资源被下载
    定期备份服务器上的项目到本地服务器
    查看项目中的laravel的版本
    PHP高并发和大流量的解决方案
    wordpress的安装及使用
    openstack及组件简要介绍
    Java中 如何把Object类型强转成Map<String, String>类型
    JSch基本使用
    Ganymed SSH-2 for Java
    全面解析NIO
  • 原文地址:https://www.cnblogs.com/WooZz/p/2580817.html
Copyright © 2020-2023  润新知