1. Существует метод Validate () в ActionSupport. Этот метод является методом проверки. Он будет выполнен до выполнения метода execute (), поэтому он может сыграть хорошую роль в проверке.
@Override // Переписать метод validate () в действии public void validate () {if (null == this.username || this.username.length () <4 || this.username.length ()> 6) {this.addactionError ("userme invadate");}}}}}}}}}}}}} а Если проверка не удается, мы можем вызвать AddactionError («Сообщение об ошибке»); Таким образом, сообщение об ошибке будет сохранено.
После того, как весь метод проверки будет выполнен, система автоматически проверит страницу JSP, соответствующую name = "input". Обычно рекомендуется перейти на страницу, которую мы зарегистрировали, то есть, откуда мы и куда идем
/registerResult.jsp/register.jsp
беременный Тогда мы register.jsp
То есть добавить этот тег Struts2 на начальную страницу регистрации
<S: ActionError cssstyle = "Цвет: красный"/>
Значение: если существует сообщение об ошибке, то есть существует ActionError, то выведите это сообщение об ошибке.
Более того, мы можем установить теги на CSS
// Обратите внимание, что использование тегов Struts2 должно вводить теги в файле заголовка: < %@ taglib prefix = "s" uri = "/struts-tags" %>
в
Способ сравнения дат:
Британт и выпускник - это типы дат
if (null! = день рождения && null! = Выпускной) {календарь c1 = календарь.getinstance (); c1.settime (день рождения); календарь c2 = calendar.getinstance (); c2.settime (выпускной); if (! c1.before (c2)) {this.addactionError ("День рождения);2. Уровень действия и уровень поля. Таким образом, мы можем добавить к разным уровням при добавлении ошибок, и мы можем быть более гибкими при проведении сообщений об ошибках, не добавляя всю информацию на уровень действия, вся информация будет отображаться одинаковой. Например: нам необходимо использовать красные шрифты, чтобы представить сообщение об ошибке повторных паролей, в то время как другая информация, такая как имя пользователя, возраст и т. Д., Представлена зелеными шрифтами. В настоящее время вы можете добавить его на разные уровни, используя его.
На странице регистрации просто напишите тег на уровне поля. следующее:
<S: ActionError cssstyle = "color: red" // Уровень действия <s: fielderror cssstyle = "color: blue"> </s: Fielderror> // Полевой уровень public void validate () {if (null == this.username || this.username.length () <4 || this.username.length ()> 6) {this.addactionError («Имя пользователя Invadate»); // Добавить сообщение об ошибке к уровню действия this.addfielderror («useraname», «unerame invadate in field»);3. После отправки ошибки исходная информация будет отображаться в форме.
<S: Form action = "registerAction"> <S: TextField name = "userName" label = "userName"> </s: TextField> <S: Password Name = "Password" label = "пароль"> </s: пароль> <s: имя пароля = "repassword" label = "repassword"> </s: пароль> <s: vame = viepliefiel name = "День рождения" label = "brithday"> </s: textfield> <s: textfield name = "graduate" label = "Выпускник"> </s: textfield> <s: отправить значение = "Отправить"> </s: отправить> </s: форма>
Используя тег Struts2, он может автоматически вводить и затем отображать неправильную информацию уровня поля, как показано ниже.
4. Однако, хотя этот метод автоматического использования таблиц для печати удобен, он не отвечает нашим потребностям во многих случаях, поэтому мы можем использовать пользовательский набор
Метод 2: Определите метод макета для простых, чтобы мы могли набирать его сами в методе HTML.
Ошибки на уровне поля не будут отображаться автоматически.
<S: Form action = "RegisterAction" theme = "simple"> <br/> имя пользователя: <s: textfield name = "username" label = "username"> </s: textfield> <br/> пароль: <s: имя пароля = "пароль" label = "Пароль"> </s: пароль> <br/> repassword: <s: password wome = "repass"> </s: пароль> <br/> repass: <s: label = "repassword"> </s: пароль> <br/> Возраст: <S: Textfield name = "Age" label = "age"> </s: Textfield> <br/> День рождения: <S: Textfield name = "Britethed" label = "Brithday"> </s: Textfield> <br/> value = "Recod"> </s: отправить> </s: форма>
5. Для обеспечения безопасности стойки представлены в посте, когда метод не определяется, что безопаснее.
6. Если входное значение не соответствует методу, например, возраст имеет тип int, а вход - тип строки, система будет судить и добавить недопустимое значение поля для полевого «возраста» на уровень полевых условий. Информация заключается в следующем:
Процесс выполнения:
1) Сначала выполнить преобразование типа
2) Затем выполните проверку ввода (выполнить метод проверки)
3) Если какая -либо ошибка возникает в вышеуказанном процессе, метод выполнения не будет выполнен снова. Страница превратится на страницу в struts.xml, чье имя является результатом, соответствующим входу.
8. Реализация метода AddactionError () of ActionSupport Class: сначала создайте объект ArrayList, а затем добавьте сообщение об ошибке в объект ArrayList.
9. Когда метод getActionErrors () вызывается для возврата списка ошибки на уровне действий, возвращаемый на самом деле является копией коллекции, а не самой коллекции. Следовательно, элементы в копии по -прежнему очищаются, вызывая метод CLEAR () на копии коллекции, а не элементы в оригинальной коллекции. В настоящее время контент в оригинальной коллекции не получил никакого влияния. Другими словами, списки сообщений об ошибках на уровне действий читаются для разработчиков, но не для записи
Если вы хотите удалить сообщение об ошибке после проверки и позволить ему выполнить метод выполнения, даже если есть сообщение об ошибке, вы можете вызвать это.
10. Основное сообщение об ошибке на уровне Fielderror реализовано через LinkedHashmap. Ключом карты является тип строки, а значение - список <string> type. Это означает, что имя поля может соответствовать нескольким сообщениям об ошибках, и эти сообщения об ошибках размещаются в коллекции List <string>. Таким образом, существует несколько сообщений об ошибках для достижения одной и той же ошибки
Выше приведено подробное объяснение метода проверки, используемого для ввода Validate () в стойках, представленных редактором. Я надеюсь, что это будет полезно для всех. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит всем вовремя. Большое спасибо за вашу поддержку сайту wulin.com!