В предыдущем разделе мы завершили функции запросов и удаления продуктов. В этом разделе мы выполним функции добавления и обновления продуктов.
1. Добавить категорию продукта
1.1 Добавить дизайн пользовательского интерфейса категории
Давайте сначала поговорим об этой идее: во -первых, когда пользователь нажимает на «Добавить продукт», мы должны вспомнить окно пользовательского интерфейса «Добавить продукт» (обратите внимание, что это не прыгает на новый JSP, а EasyUI имеет только одну страницу). После появления окна «Добавить продукт» все окна его родительского класса должны быть заблокированы (то есть нажатие на другие места недействительны, и может быть эксплуатировано только окно добавления продуктов). После того, как пользователь заполнит информацию, нажмите «Добавить» в недавно выскоченном окне, отправьте запрос на Struts2. Затем Struts2 получает параметры запроса и выполняет действие добавления из базы данных. Таким образом, фоновая работа завершена. В то же время, стойка регистрации должна обновить текущую страницу и Redisplay все продукты.
Мы проверили документацию EasyUI и обнаружили, что есть два способа создать новое окно. Либо создайте его с тегами, либо с помощью JS. Мы используем JS, чтобы создать его здесь, но нам нужна коробка <div> следующим образом:
Кроме того, новое окно, которое мы создаем, не нужно минимизировать или максимизировать, но экран должен быть заблокирован. Таким образом, эти свойства установлены в Div. На что вам нужно обратить внимание, так это функция блокировки экрана. Потому что <viv> расположен по -другому, а диапазон заблокированного экрана также отличается. Нам нужно заблокировать полный экран, поэтому нам нужно поместить <div> в aindex.jsp. Содержание Query.jsp (включая кнопку добавления) должно быть сгенерировано в aindex.jsp, а также содержимое Save.jsp (то есть пользовательский интерфейс окна с добавлением, который мы хотим отобразить). Следовательно, после всплывающего окна нам нужно заблокировать объем aindex.jsp, поэтому <viv> должен быть помещен в aindex.jsp, а конкретная реализация заключается в следующем:
Добавьте новый <div> в aindex.jsp <body>
Скопируйте код следующим образом: <div id = "Win" data-options = "Collapse: False, Minimizable: False, максимизируется: false, modal: true"> </div>
Затем мы совершенствуем часть добавления категорий в Query.jsp:
{iconcls: 'icon-add', text: 'add Category', Handler: function () {parent. $ ("#win"). Window ({// Потому что <viv> помещается в aindex.jsp, вы должны сначала позвонить в название «Добавить категорию», вида: 350, высота: 150, контент: '<iframe src = "send_caterory_save. }); }} Как видно из приведенного выше кода для добавления категорий, мы вводим содержимое файла save.jsp в каталоге Web-Inf/категории. Далее мы завершаем save.jsp:
<%@ page language = "java" import = "java.util.*" pageencoding = "utf-8"%> <! Doctype html public "-// w3c // dtd html 4.01 transitional // en"> <html> <%@ include = "/public/head. Маржа: 5px; } </style> <script type = "text/javascript"> $ (function () {$ ("input [name = type]"). Validatebox ({// Это функция проверки «Имя категории». Если пользователь подчиняет его без заполнения, есть требуемая подсказка: true, пропущенное матч: 'Пожалуйста, введите категорию. $ ("#cc") в раскрывающемся списке администратора Box.combobox ({// Отправить запрос на метод запроса в учетной записи для обработки. Здесь вам необходимо вернуть обработанные данные на эту сторону, чтобы отобразить его, поэтому фон необходимо для упаковки данных в формат JSON и отправить их на URL: 'account_query.action', valuefield: 'ID', Thopfore Logine vome in-name in-name Список панель: «Авто», // Адаптивная высота. $ ("#ff"). form ("disableValidation"); // зарегистрировать событие кнопки. То есть, что делает пользователь при нажатии «Добавить» $ ("#btn"). Click (function () {// включить проверку $ ("#ff"). Form ("enableValidation"); // Если проверка успешно, отправьте данные, если ($ ("#ff"). URL: 'Category_save.Action', // Отправить запрос на метод сохранения в категории для обработки успеха: function () {// после успеха // Если он успешно, закройте текущее окно Management '] "). Get (0) .contentWindow. $ ("#Dg "). DataGrid (" reload ");}});}}); }); </script> </head> <body> <form id = "ff" method = "post"> <div> <label для = "name"> name продукта: </label> <input type = "text" name = "type"/> </div> <div> <babel> Администратор: </label> <input yd = "cc" name = account.id./> </> </div> <div> <div> <div> <div> <div> <div> <dip> <div> <div> <div> <div> <div> <div> <div> <div> <div> id = "cc" name = "account.id"/> </div> <div> <babel> for = "hot"> hotspot: </label> yes <input type = "radio" name = "hot" value = "true"/> no <input type = "radio" name = "value =" true "/> </div> <div> <ad =" btn "href ="#"/> </> </div> <div> <ad =" href = "#"#"/> </> </div> <div> < -id =" href = " data-options = "iconcls: 'icon-add'"> добавить </a> </div> </form> </body> </html> Дисплей на стойке регистрации и запросы на отправку были завершены, а следующий шаг - выполнить бэкэнд -программу.
1.2 Логическая реализация добавления категорий <br /> На стойке регистрации отправит данные в метод сохранения в категории для выполнения, поэтому нам просто нужно записать действие, потому что фон должен только добавить категорию в базу данных, и ему не нужно возвращать данные на стойку регистрации, поэтому он относительно прост, просто напишите действие напрямую:
@Controller ("CategyOrachAction") @Scope ("Прототип") Общедоступный категория класса Extens Baseaction <Category> {// Опустить другие коды ... public void said () {System.out.println (model); CategoryService.save (модель); }}Таким образом, данные будут храниться в базе данных. После этого стойка регистрации будет обновлять дисплей и отобразить недавно добавленные категории продуктов. Давайте посмотрим.
Мы закончим добавлять категории продуктов. Давайте сделаем обновление категории продукта ниже.
2. Обновление категории продукта
2.1 Обновление категории категория дизайна пользовательского интерфейса
Идея обновления категорий продуктов в основном такая же, как и те, которые добавлены выше. Сначала появляется окно пользовательского интерфейса, а затем пользователь заполняет данные и отправляет их на фон, обновляет базу данных в фоновом режиме и обновляет дисплей в стойке регистрации. Мы все еще используем приведенный выше метод для создания окна пользовательского интерфейса. <div> Я не должен меняться, все, что нам нужно сделать, это улучшить код для части «обновление категории» в Query.jsp:
{iconcls: 'icon-edit', text: 'update Categyory', Handler: function () {// Существуют ли выбранные записи строк, используйте GetSelections, чтобы получить все выбранные строки var row = $ ("#dg"). DataGrid ("getSelections"); if (row.length == 0) {// всплыть в подсказке сообщения $ .messager.show ({// Синтаксис аналогичен статическим методам в Java. Прямые вызовы объекта Название: «Запрос ошибки», MSG: «По крайней мере, одна запись должна быть выбрана», Timeout: 2000, Showtype: 'slide',}); } else if (row.length! = 1) {// Популярное сообщение об подсказке $ .messager.show ({// Синтаксис аналогичен статическим методам в Java. Прямые вызовы объекта Название: «Приглашение ошибок», MSG: «только одна запись может быть обновлена за раз», Timeout: 2000, Showtype: 'slide',}); } else {// 1. Обновленная страница Parent. $ ("#Win"). Window ({title: "Добавить категорию", ширина: 350, высота: 250, контент: '<iframe src = "send_category_update.action" crameborder = "0"/>'}); // 2. }}}} Давайте проанализируем приведенный выше код JS: сначала получите строку, которая будет обновлена пользователем. Если он не будет выбран, пользователю будет предложено выбрать хотя бы одну запись для обновления. Если выбрано более одной записи, пользователю также будет предложено обновить только одну запись за раз. После того, как все эти суждения завершены, пользователь проверил запись, затем мы начинаем создавать новое окно пользовательского интерфейса. Здесь, как указано выше, мы вводим содержание страницы Update.jsp в каталоге Web-Inf/Category. Давайте посмотрим на содержание страницы update.jsp:
<%@ page language = "java" import = "java.util.*" pageencoding = "utf-8"%> <! Doctype html public "-// w3c // dtd html 4.01 transitional // en"> <html> <%@ include = "/public/head. Маржа: 5px; } </style> <script type = "text/javascript"> $ (function () {// объект DataGrid var dg = parent. $ ("iframe [title = 'категория управления']"). Необходимо вернуть обработанные данные на эту сторону, чтобы отобразить его, поэтому фон должен упаковать данные в формат JSON и отправить их на URL: «Account_Query.Action», Valuefield: «ID», TextField: «Вход», // Наш раскрывающийся список показывает панель входа в систему администратора. // Установите две ширины в то же время редактируемое: false // раскрывающийся в виду не разрешает редактирование}); ID: Rows [0] .id, тип: Rows [0] .type, Hot: Rows [0] .hot, 'Account.Id': Rows [0] .Account.id // easyUI не поддерживает операции точек Account.id, поэтому вам необходимо добавить котировок}); // После того, как повторить данные, установите функцию проверки $ ("input [name = type]"). Validebox ({refect: true, hisplomtmessage: 'Пожалуйста, введите имя категории'}); // Отключить проверку $ ("#ff"). Form ("DipableValidation"); // Зарегистрируйте событие кнопки $ ("#btn"). Click (function () {// включить проверку $ ("#ff"). Form ("enablevalidation"); // Если проверка успешна, отправьте данные, если ("#ff"). Форма ("Validate")) {// Вызов метод отправки в $ ("#ff"). 'Catching_update.Action', // При отправке запроса в метод обновления категория выполняется успех: function () {// При успешной }); </script> </head> <body> <form id = "ff" method = "post"> <div> <label для = "name"> name категории: </label> <input type = "text" name = "type"/> </div> <div> <label for = "hot"> hotspot: </label> yes <input = "radio" vico = "value = value"/> value "/>"/> "/"/"/"/"/" "/"/""/"/"/"/" "/"/"/" "/"/""/"/"/"/" "/"/""/""/""/""/""/""/""/""/""/""/""/""/""/""/""/""/""/"/". name = "hot" value = "false"/> </div> <div> <label for = "account"> Администратор: </label> <!-раскрывающийся список мы используем удаленную загрузку для загрузки данных администратора-> <input id = "cc" name = "chounck.id"/> </div> <div> <a id = "btn" href = "#"/> </div> <div> <a id = "btn" href = "#"/> data-options = "iconcls: 'icon-edit'"> update </a> <input type = "hidden" name = "id"/> </div> `</form> </body> </html> Разница между обновлением и добавлением заключается в том, что сначала данные эхо, а затем есть раскрывающийся список для отображения данных администратора, поскольку администратор, которым вы принадлежите, также необходимо обновить. Давайте посмотрим на приведенный выше код. Во -первых, используйте метод удаленной загрузки для загрузки данных администратора. Во -первых, отправьте запрос на бэкэнд. После того, как метод запроса фоновой учетной записи обрабатывается, данные администратора упаковываются в формат JSON и возвращаются, чтобы можно было получить данные администратора. После его получения данные могут быть отозваны. Давайте посмотрим на фоновую программу:
2.2 Обновите логическую реализацию категорий
@Controller ("baseaction") @scope ("Прототип") открытый класс Baseaction <t> расширяет действия. Ниже приведено реализовать список защищенного метода GET <T> jsonList = null; // Опустить другие методы ...} // accountAcction @Controller ("AccountAction") @Scope ("Prototype") Public Class Account Extends BaseAction <comscousity> {public String Query () {jsonlist = accountservice.query (); вернуть "jsonlist"; }} Далее, давайте настроим файл struts.xml:
<name = "account_*" method = "{1}"> <result name = "jsonlist" type = "json"> <param name = "root"> jsonlist </param> <param name = "excludeproperties"> <!-[0] .pass, [1] .pass-> <!-Регулярное выражение показывает ошибку, я буду воспроизводить изображение ниже-> </param> </ressure> </> <! После завершения Echo операция обновления является операцией обновления. Конечно, есть также функция проверки. Так же, как добавление, операция обновления передает запрос на метод обновления категории для выполнения, что относительно просто:
@Controller ("CategyOrachAction") @Scope ("Прототип") Открытый категория класса Extens Baseaction <Category> {// Опустить другие методы ... public void update () {system.out.println (model); CategoryService.Update (модель); }}На этом этапе мы завершили операции с добавлением и обновлением категорий продуктов.
Оригинальный адрес: http://blog.csdn.net/eson_15/article/details/51347734
Вышеуказанное - все содержание этой статьи. Я надеюсь, что это будет полезно для каждого обучения, и я надеюсь, что все будут поддерживать Wulin.com больше.