powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / ExtJs + jsp. Сохранить измененные данные из Store в Oracle
10 сообщений из 10, страница 1 из 1
ExtJs + jsp. Сохранить измененные данные из Store в Oracle
    #38175651
Dan_Irkutskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В jsp подгружаю js файлик. В нём:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
var ds_ = new Ext.data.Store({
    baseParams:{id:0},
    url: 'res/ds.jsp',
    reader: new Ext.data.JsonReader(....)
});
Ext.EventManager.on(window, 'load', function() {
    ds_.load({params:{id:1}, callback:onError});
    var colmod = new Ext.grid.ColumnModel({...});
    var grid_ = new Ext.grid.GridPanel({
        id:'grid_',
        frame:true,
        store: ds_,
        layout: 'fit',
        loadMask:true,
        autoScroll : true,
        colModel: colmod,
        title:Name,
        selModel : new Ext.grid.CellSelectionModel({
            listeners: 
            {
                beforecellselect:
                        function (sm, rowIndex, colIndex) 
                        {
                            var record = grid_month.getStore().getAt(rowIndex);
                            record.set('Pole','Новое значение');
                        } 
            }                   
        })
    });
    var isForm = new Ext.form.FormPanel({
        title: 'Титл',
        id:'isForm',
        items: [
            grid_
        ],
        buttons:
                [
                    {
                        text: 'Сохранить',
                        handler: function() {
                            // Тут надо вписать отправление JSON на страницу commit.jsp
                        }
                    },
                    {
                        text: 'Отмена',
                        handler: function() {
                            window.close();
                        }
                    }
                ]
     });
    isForm.render('panels-all');
});
function onError(r, options, success) {
    if (!success) {
        Ext.Msg.alert('Ошибка', 'Ошибка загрузки данных на форму');
    }
};




Как отправить JSON?
И как принять его в jsp?

Если есть еще не оптимальное написание - подсказывайте. Буду рад любой конструктивной критике.
...
Рейтинг: 0 / 0
ExtJs + jsp. Сохранить измененные данные из Store в Oracle
    #38175663
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
насчет "как принять json на сервере" думаю лучше спросить на форуме по Java
jsp - это ведь Java Server Pages, я правильно понял?
...
Рейтинг: 0 / 0
ExtJs + jsp. Сохранить измененные данные из Store в Oracle
    #38175674
Dan_Irkutskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да верно Java Server Pages.
...
Рейтинг: 0 / 0
ExtJs + jsp. Сохранить измененные данные из Store в Oracle
    #38175719
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Если есть еще не оптимальное написание - подсказывайте. Буду рад любой конструктивной критике.

1. Вот этот пассаж:
> Ext.EventManager.on(window,'load',function() {
не нужен: grid сам прекрасно разберется, что он от'render'ился и, в зависимости от Ext.data.Store.autoLoad загрузится. Посмотрите их examples

2.
> var isForm =new Ext.form.FormPanel({
> ...
> items: [
> grid_
> ],
> ...
тоже - нет необходимости. Размещайте кнопки прям в grid'е (хоть на том же Ext.grid.Panel.tbar 'е)

Ну, а как принимать JSON в Java - Вам уже сказали.

_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ExtJs + jsp. Сохранить измененные данные из Store в Oracle
    #38175754
Dan_Irkutskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кнопки не в гриде потому это не все элементы страницы. Часть не показана.

А как отправлять?

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
                            isForm.getForm().submit({
                                url: 'res/commit.jsp',
                                waitMsg: 'Сохраняем...',
                                method:'POST',
                                success: function(isForm, o) {
                                    Ext.Msg.show({
                                        title:'Сообщение',
                                        msg: 'Успешно сохранено.',
                                        buttons: Ext.Msg.OK,
                                        fn: function(btn, text) {
                                            if (btn == 'ok') {
                                                window.returnValue = 1;
                                                window.close();
                                            }
                                        }})
                                },
                                failure:function(form, action) {
                                    Ext.Msg.alert('Ошибка записи данных', action.result.errors);
                                }
                            });



Не передает почему-то.
...
Рейтинг: 0 / 0
ExtJs + jsp. Сохранить измененные данные из Store в Oracle
    #38176183
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> А как отправлять?
Ext.data.Store.sync()

> Не передает почему-то.
/me думает: не мудрено... Форма - это форма, а грид - это грид... У каждого своя парафия...

_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ExtJs + jsp. Сохранить измененные данные из Store в Oracle
    #38176829
Dan_Irkutskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо. Ставлю кнопку в Грид

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
        bbar: [
                {
                    text: 'Сохранить',
	                handler: function(){
                        grid_.getStore().sync();
                    }
                }
        ]



"Объект не поддерживает этот метод или свойство."

Переписал в Store так:
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
    proxy: new Ext.data.HttpProxy({
        baseParams:{id:0},
        type: 'ajax',
        api: {
            read: 'res/ds.jsp',
            add: 'res/submit.jsp',
            update: 'res/submit.jsp',
            destroy: 'res/submit.jsp'
        },
        writer: {
            type: 'json',
            root: 'rows'
        }
    }),
    reader: new Ext.data.JsonReader(
    {
        root: 'rows'
    }, [
    ...
    ])



reader срабатывает. В Грид выводится. А вот, что writer написал правильно не уверен.

Но в любом случае это не помогло - "Объект не поддерживает этот метод или свойство."

Ругается на строку:
grid_.getStore().sync();

Куда дальше?
...
Рейтинг: 0 / 0
ExtJs + jsp. Сохранить измененные данные из Store в Oracle
    #38177021
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dan_Irkutskiy"Объект не поддерживает этот метод или свойство."

Ругается на строку:
grid_.getStore().sync();Я c Ext не знаком, но вот Вам просто совет
такие проблемы надо локализировать
то есть попытаться написать

var dummy = grid_.getStore();
dummy.sync();

а потом глянуть - на какую из двух строк заругается
...
Рейтинг: 0 / 0
ExtJs + jsp. Сохранить измененные данные из Store в Oracle
    #38177046
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тынць
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
ExtJs + jsp. Сохранить измененные данные из Store в Oracle
    #38179293
Dan_Irkutskiy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за помощь.
Проблему локализовал в том, что sync() появилось в 4ке. А у нас не перешли с 3.3. еще. Буду работать в этом направлении.
или искать как это делалось в 3.3.

Ex_Soft , спасибо за пример. Вроде темку читал, до того как свою создать, а файлик прошлый раз не заметил. Посмотрю обязательно.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / ExtJs + jsp. Сохранить измененные данные из Store в Oracle
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]