Флакторы много используются в веб -разработке. Теперь мы используем флажок метку Struts2, чтобы реализовать некоторые проблемы, с которыми мы часто сталкиваемся в разработке.
Давайте посмотрим на свойства этого тега:
Примечание. ListKey эквивалентен атрибуту значения в HTML. Это значение действительно то, что мы хотим использовать в фоновом режиме при взаимодействии с фоном; ListValue - это просто отображение контента.
Пользователь выбрал свой любимый курс и теперь должен изменить выбранную вами курс, перейти к интерфейсу модификации, а затем повторил выбранную курс.
Пользователь выбрал интерфейс курса:
Нажмите кнопку и введите интерфейс модификации курса:
ПРИМЕЧАНИЕ. В интерфейсе модификации вы должны повторить начальный выбор пользователя.
Пользователь выбрал интерфейс курса:
<body> Ваш курс: <form action = "fackboxaction_test.action" method = "post"> <s: fackboxlist list = "{'java', '. net', 'php', 'c ++'}" name = "courses"/> </br> <input type = "value =" Я хочу изменить "/> </form> </body> body> </body> </body> </body>Код действия:
Общедоступный флажок класса Extends activeRopport {private Static Long Long SerialVersionUid = 1L;/*Курс, выбранный пользователем (строка, необходимость удаления пространств)*/private String Courses; public String getCourses () {return Courses;} public void setCourses (String Courses) {this.courses = courses; must be removed in this way, trim() does not work] */String courStrs = this.courses.replaceAll(" ", "");/*Define a collection to store the courses selected by the user in the collection*/List<String> userCourses = new ArrayList<String>();/*Travel */for (String str : courstrs.split (",")) {usercourses.add (str);}/*Сохранить курсы, выбранные пользователем в контексте контекста ognl*/actioncontext.getContext (). Поместите ("UserCourses", UserCourses);/*Пропустите все флажки в форме, чтобы отобразить, а затем сопоставить их с выбранными пользователями. Arraylist <string> (); cous.add ("java"); cous.add (". Net"); cous.add ("php"); cous.add ("c ++");/*Сохранить все курсы в контексте ognl*/actioncontext.getContext (). Pult ("cous", cous);Изменить интерфейс:
<body> выбранный вами курс: <S: Fackboxlist name = "courses" list = "#cous" value = "#usercourses" /> < /body>
ПРИМЕЧАНИЕ. В интерфейсе модификации очень просто достичь эха результата. Кроме того, нам нужно только имя # атрибута, чтобы получить значения списка и значение, потому что мы уже поместили объект в ActionContext, то есть контекст ognlContext в действии.
Здесь мы используем аналогичный случай, чтобы приблизиться к среде разработки симуляции:
Пользователь выбирает свой идол (объект Javabean), а затем прыгает на интерфейс модификации, чтобы изменить его, и повторяет данные в интерфейсе модификации.
Пользователь выбрал интерфейс Idol:
Измените интерфейс (для реализации Echo Data)
Пользователь выбрал интерфейс Idol:
<body> your idol: <form action = "fackboxlistaction.action" method = "post"> <s: fackboxlist list = "#{1: 'deng xiaoping', 2: 'xi jinping', 3: 'hu jintao', 4: 'li keqiang'}" name = "ids" listKey = "key" listValue = "value"/value "= value" = "="/> </brble "=" = "=" = "= value" = "="/> </brbe "</br. хочу изменить "/> </form> </body> Примечание. Список - это коллекция карт, созданных Ognl. ListKey эквивалентен реальному значению значения представленной формы. Мы передаем ключ карты на фон для обработки.
Javabean Object:
Общественный класс пользователь {/* идентификатор пользователя*/private integer uid;/* username*/private string uname;/* no-argument constructor*/public user () {}/* constructor*/public use (integer uid, string uname) {this.uid = uid; this.uname = uname uname; uid) {this.uid = uid;} public String getUname () {return uname;} public void setUname (string uname) {this.uname = uname;}}Код действия:
Общедоступный Class FaceBekListaction Extends activeRopport {private Static Long Long SerialVersionUID = 1L;/* ИДОЛ*/Private List <user> пользователи;/* Строка идентификатора идентификатора идентификатора*/частные строки; public list <user> getUsers () {return users;} public void setUsers (list <user> users) {this.users = users;} public String () string string setids; ids) {this.ids = ids;} public String execute () {/*Моделируйте, чтобы получить все идолы из базы данных, передайте их на стойку регистрации, а затем сравните их с выбором пользователя*/users = new ArrayList <user> (); пользователи. 2 (новый пользователь (1, «deng xiaoping»); users.add.add (new user use usip hiaoping); User(3, "Hu Jintao"));users.add(new User(4, "Li Keqiang"));/*Save in OGNL Context context*/ActionContext.getContext().put("users", users);/*Define a collection to store the idol ids selected by the user*/List<Integer> userIds = new ArrayList<Integer>();/*Get the ids selected by the user and Удалить пространства [должен использоваться таким образом, метод Trim () не работает]*/ids = ids.replaceall ("", "");/*iteration*/for (string str: ids.split (",")) {userids.add (integer.valueof (str);}/*save ids в контексте omperl*actioncolctextectectectectectect. userids); return this.success;}}Измените интерфейс (Echo the Data):
<body> Ваш идол: <s: fackboxlist name = "users" list = "#users" listKey = "uid" listValue = "uname" value = "#userids"/> </body>
Примечание: ListKey и ListValue - это два свойства Javabean. Они будут размещены в стеке значений при итерации Fackboxlist, поэтому нет необходимости получать его в форме #Namespace. Вы можете получить его напрямую, используя имя атрибута. Значением значения является коллекция UID в Javabean, которая будет автоматически сопоставлена, а затем выберите соответствующее значение.
Прикрепил:
1. Если в вашем проекте не используется Freemaker, но появляется ошибка, показанная на рисунке ниже!
Итак, поздравляю, это потому, что у вашего тега Struts2 нет атрибута имени! ! ! ! (Урок из слез, меня обманул два часа!)
Выше приведено все содержимое этой статьи о изучении кода экземпляра флажки Struts2 Framework, я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!