1. Validate () Метод в действии
Struts2 предоставляет достоверный интерфейс, который имеет только метод Validate () в этом интерфейсе. Класс, который реализует этот интерфейс, может быть вызван непосредственно Struts2. Класс ActionSupport реализует вадидатируемый интерфейс, но его метод Validate () является пустым методом, который нам необходимо переписать.
Метод Validate () будет выполнен до выполнения метода execute (). Метод execute () будет выполняться только в том случае, если проверка данных верна. Если ошибка сделана, ошибка будет добавлена в поле Fielderrors. Если в определенном действии есть несколько методов логической обработки, а различная логика обработки требует разных правил проверки, в данном случае Validate () будет использовать одни и те же правила проверки для всех логиков обработки. Чтобы реализовать различную логику проверки, необходимо передать метод Validatex (), где x представляет имя метода логики обработки.
Действие класс:
Общедоступный вход в логику validate () {System.out.println ("validata");} public void validateLogin () {System.out.println ("validateLogin"); if (! (username.equals ("sbw") && userpassword.equals ("123")) {addfielderror ("error", "неправильная информация);) {return username;} public void setUsername (string username) {this.username = username;} public String getUserPassword () {return userpassword;} public void setuserPassword (String userPassword) {this.userPassword = userPassword;}}struts.xml
<package name = "main" extends = "struts-default"> <blodal-results> <name name = "login">/login.jsp </result> </global-results> <name = "loginperson" method = "login"> <result name = "успех">/успех.
Успех.jsp
<body> Вход успешно <s: value = "account"/> </body>
validateLogin.jsp
<body> <s: Fielderror/> </body>
Запуск результатов (первый тест верен, второй тест неверен)
2. Пропустите структуру проверки Xwork
При использовании метода проверки для проверки, если в веб -приложении существует большое количество действий, метод проверки необходимо переписать несколько раз. Поэтому вы можете использовать структуру валидатора Xwork для проверки данных Struts2 для уменьшения количества кода.
Создайте проверку File File-validation.xml в пакете com.action. Примечание. Когда в действии есть несколько методов обработки бизнес-обработки, правило именования: actionName-methodName-validation.xml, где ActionName является именем класса действий, метод имени метод метода бизнес-обработки в действии, а порядок поиска файла совпадает с Validate () и Validatex ().
Логин-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> <field name = "usersame usermate-1.2.Dtd" type = "requiredString"> <Сообщение> Имя не должно null </message> </field-validator> </field> <name = "field =" userpassword "> <field-validator type =" refectString "> <Сообщение> Пароль не должен null </message> </field-validator> </field> </validators>
Беги снова следующим образом:
Приведенный выше метод проверки поля является методом проверки поля, а другим методом является метод проверки без поля следующим образом:
Логин-validation.xml:
<validators> <validator type = "requiredString"> <param name = "fieldname"> username </param> <Сообщение> Имя не должно null </message> </validator> <validator type = "requiredString"> <param name = "fieldname"> userpass </param> <Сообщение> не должно null </valdator> </valdator
Результат такой же, как и метод проверки поля
Приложение: обычно используемые проверки для Struts2: