Предисловие
Проверка данных - это задача, которую нужно сделать почти каждое приложение. Данные, введенные пользователем, отправляются на сервер. Бог знает, являются ли данные, введенные пользователем законными и являются ли они злонамеренными. Следовательно, надежная система приложений должна проверить вход пользователя, блокировать незаконные входы вне приложения и предотвратить вход этих незаконных входов в систему, обеспечивая тем самым стабильность и безопасность системы.
Мы все знаем, что для лучшего пользовательского опыта и более высокой эффективности текущие веб -приложения имеют следующие две проверки данных:
Проверка данных клиента в основном проводится с помощью кода JavaScript; Проверка данных на стороне сервера является последней строкой защиты для всего приложения для блокирования незаконных данных и в основном реализуется посредством программирования в приложении.
Чтобы уменьшить рабочую нагрузку разработчиков и повысить эффективность работы, структура Struts2 также приложила много усилий для проверки данных. Итак, как Struts2 завершает проверку данных? (Поскольку возможность проверки клиента в рамках Struts2 слаба, она не будет суммирована. В этой статье в основном суммируется функция проверки данных на стороне сервера в структуре Struts2)
Написать правила проверки файлы
Мы все знаем, что проверка данных - это все громоздкий код. Чтобы выйти из этих громоздких кодов, Framework Struts2 обеспечивает проверку данных на основе файлов конфигурации. Это требует только написания файла правила проверки. Файл правила проверки указывает, какие правила должны соответствовать каждому поле формы.
Давайте поговорим о проверке ввода структуры Struts2 через демонстрационный пример.
Страница стойки регистрации:
<body> <form action = "login" method = "post"> имя пользователя: <input type = "text" name = "name" /> <s: fielderror fieldname = "name" /> <br> пароль: <input type = "пароль" = "пароль" /> <s: fielderror fieldname = "password" /> <br> age: <input type = "text" ageerder " /aster". FieldName = "AGE" /> <br> День рождения: <input type = "text" name = "день рождения" /> <s: fielderror fieldname = "день рождения" /> <br> <input type = "Отправить" значение = " /> < /form> < /body>
Код обработки фоновых действий:
Общедоступный класс вход в систему расширяет ActionSupport {private String name; Private String Password; частный int возраст; частное свидание по случаю дня рождения; частный струнный совет; public void setName (String name) {this.name = name; } public String getName () {return name; } public void setPassword (String password) {this.password = password; } public String getPassword () {return пароль; } public void setage (int age) {this.age = age; } public int getage () {return Age; } public void setBirthDay (дата рождения) {this.BirthDay = день рождения; } public date getBirthDay () {return Birthday; } public void settip (String Tip) {this.tip = tip; } public String getTip () {return tip; } public String execute () Throws Exception {// Операция упрощена здесь. вернуть успех; }}Через приведенный выше код действия, мы видим, что я не добавил какой -либо код проверки поля, но нам нужно только написать файл проверки следующим образом:
<? xml version = "1.0" Encoding = "UTF-8"?> <!-Укажите информацию о DTD файла конфигурации проверки-> <! Doctype Validators Public "-// apache struts // xwork validator 1.0.2 // en" "http://struts.apache.org/dtds/xwork-validator-1. Элемент файла проверки-> <validators> <!-Проверьте атрибут имени файла конфигурации проверки-> <Field name = "> <!-Укажите атрибут имени, должен соответствовать необходимым правилам-> <Полево-валидатор тип =" обязательный строительство "> <param name =" trim "> true </param> <Сообщение> должно быть заполнено в </performation> </field-validtor> </param> <pellage> amperibute ateribot aterible attribottor> </attribit attribit attrified> </attribit attrible attrified. <Field-validator type = "regex"> <param name = "regexexpression"> <! [cdata [(/w {4,25})]]> </param> <Сообщение> Имя пользователя, которое вы вводят только буквы и цифры, а длина должна быть от 4 до 25 </message> </field-validator> </field> <!-версия атрибута. <field-validator type="requiredstring"> <param name="trim">true</param> <message> Password must be entered</message> </field-validator> <field-validator type="regex"> <param name="regexExpression"><![CDATA[(/w{4,25})]]]></param> <message> The username you enter can only be letters and numbers, and Длина должна быть между 4 и 25 </message> </field-validator> </field> <!-Проверьте атрибут возраста действия-> <field name = "age"> <field-validator type = "int"> <param name = "min"> 1 </param> <param name = "max"> 150 </param> age> the birthday property of the Action--> <field name="birthday"> <field-validator type="date"> <param name="min">1900-01-01</param> <param name="max">2050-02-21</param> <message>Birthday must be between ${min} and ${max}</message> </field-validator> </field></validators>Правила проверки файлов struts2 отличаются от метода проектирования файлов проверки Struts1. Каждое действие в Struts2 имеет файл проверки, поэтому имя файла файла проверки должно соответствовать следующим правилам:
<Имя действия> -validation.xml
Предыдущее имя действия может быть изменено, последующая часть -validation.xml всегда фиксирована, и файл проверки должен быть сохранен в том же пути, что и файл класса действия.
Подобно сбое преобразования типа, когда входная проверка сбой, Struts2 также автоматически возвращает результат с именем «Ввод», поэтому необходимо настроить результат с именем «Ввод» в файле struts.xml.
Информационная информация
В случае сбоя проверки пользователя необходимо запросить для сообщений об ошибках. Так что теперь возникает проблема. В многоязычной среде, как правильно предложить соответствующую информацию о приглашении на языке? Невозможно написать его непосредственно в файле проверки, как указано выше. Для получения информации о приглашении на интернационализацию укажите атрибут ключа для элемента сообщения, который указывает ключ, соответствующий информации о приглашении на интернационализацию.
Например, приведенный выше файл проверки может быть грубо написан так:
<!-Проверьте атрибут имени действия-> <field name = "name"> <!-Атрибут указанного имени должен соответствовать необходимым правилам-> <Field-validator type = "requiredString"> <param name = "trim> true </param> <wyse key =" name.requied "/> </field-validator> <!-Указанный атрибут. name = "regexexpression"> <! [cdata [(/w {4,25})]]> </param> <key message = "name.regex"/> </field-validator> </field>Встроенная шашка
В приведенном выше файле проверки вы можете увидеть такое утверждение:
<Field-validator type = "requiredString"> <field-validator type = "regex"> ...
Значение атрибута типа здесь - шахер. Существует большое количество встроенных устройств проверки, предоставленных в рамках Struts2. Эти встроенные устройства проверки могут удовлетворить потребности в проверке большинства приложений. Нам нужно только использовать эти устройства для проверки.
Мы можем использовать инструмент декомпрессии, чтобы открыть файл Xwork-core-2.3.24.1.jar. В рамках пути Xwork-core-2.3.24.1.jar/com/opensymphony/xwork2/validator/validators мы можем найти файл default.xml. Этот файл является файлом регистрации устройства для проверки по умолчанию для Struts2, а содержимое следующее:
<? xml version = "1.0" Encoding = "UTF-8"?> <! Doctype Validators Public "-// apache struts // xwork validator определение 1.0 // en" "http://struts.apache.org/dtds/xwork-validator-definition-1.0.dtdледи VERIFIER-> <valyator name = "обязательно"/> <valyator name = "требуется"/> <!-integer verifier-> <validator name = "int"/> <!-Long Integer Verifier-> <validator name = "long"/> <!-Short Integer verifier-> <valyator name = "short"/> <!-Double Floating Point Verifier-> <valytor name! Verifier-> <valyator name = "date"/> <!-verifier выражения-> <valytor name = "Expression"/> <!-Valifier выражения поля-> <valytor name = "fieldexpression"/> <!-valifier по электронной почте-> <validator name = "email"/> <!-url verifier-> <validator = "url"/> <valive name = "visitor"/> "visitor"/> "/>" visitor "/>"/> "/>"/> "/>" visitor "/>"/> "vestitor"/> "/>" vestitor " name = "visitor"/> <valyator name = "conversion"/> <validator name = "conversion"/> <valytor name = "stringlength"/> <valytor name = "regex"/> <valytor name = "conditionalvisitor"/> </validators> <!-End Snippet: validator-defast->
Что касается конкретного использования этих устройств для проверки, я не буду привести примеры здесь.
Суммировать
Эта статья кратко суммирует устройства проверки в рамках Struts2. Основы для подтверждения, упомянутых здесь, заключаются в том, как их использовать. Самое главное, чтобы освоить идею устройств проверки Struts2 и завершить их посредством конфигурации. Этот метод стоит учиться. В нашем изучении других структур мы также столкнемся с этим методом. Изучение, боль и счастье.
Хорошо, вышеупомянутое содержимое этой статьи. Я надеюсь, что содержание этой статьи имеет определенную справочную ценность для каждого обучения или работы. Если у вас есть какие -либо вопросы, вы можете оставить сообщение для общения. Спасибо за поддержку Wulin.com.