Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> GWT перекрытие HttpServlet, О том, как перекрыть HttpServlet 
:(
    Опции темы
SLAER
Дата 9.7.2009, 19:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 11.7.2008

Репутация: нет
Всего: нет



ошибка возникает из-за того, что я использую GWT-виджет FormPanel внутри GXT-виджета FormPanel. Использую GWT так как у GXT-виджета нету свойства onAction и onMetod, необходимые для маппинга на мой сервлет. может быть знаете выход из этой ситуации?
PM MAIL   Вверх
Atum
Дата 16.4.2011, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 3.10.2008

Репутация: нет
Всего: нет



В данный момент решаю аналогичную задачу ! 

что получается Если вы берете GWT то просто следуете примеру описанному тут

 GWT file upload


если используете чистое GXT  то когда создаете то идете по аналогичному пути : 

Сервлет точно такой же как и в примере выше ... 

ничего не меняем .. 

грузить файлы через 
Код
 public class GWTServiceImpl extends RemoteServiceServlet  implements GWTService



скорее всего не получиться - так как там метода doPost  final .

 На что следует обратить внимание при  таком подходе ( года вы работаете с чистым GXT ) - это :

Указать ему путь 

Код


 final String myurl = GWT.getModuleBaseURL() + "FileUploadServlet";

 panel.setAction(myurl);




у FileUploadField  есть ряд недостатков .. - кнопку  submit просто обернули  красивыми стилями - 
при этом окно загрузки файла будет вызываться даже если кнопка не доступна или , вызов окна происходит даже если вы промахнетесь мимо кнопки 
и кликните рядом (место между текстовым  полем и кнопкой)



Вопрос для Всех кто пользуется GXT загрузчиком  вместо GWT 

как понять что контент загрузился ? 



в GWT для этого есть  onSubmitComplete

а что есть в GXT у её FormPanel?  Подскажите!!!


Код

        addFormHandler(new FormHandler()  {

            @Override
            public void onSubmit(FormSubmitEvent event) {
//                if (something_is_wrong) {
//         Take some action
//                    event.setCancelled(true);

                System.out.println("event " + event.toString());
//                }
            }

            @Override
            public void onSubmitComplete(FormSubmitCompleteEvent event) {
                Window.alert(event.getResults());
                System.out.println("event res = " + event.getResults());
            }
        });



Код


package org.yournamehere.client.tabcomponent;
import com.extjs.gxt.ui.client.Style.HorizontalAlignment;
import com.extjs.gxt.ui.client.event.BaseEvent;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.Events;
import com.extjs.gxt.ui.client.event.Listener;
import com.extjs.gxt.ui.client.event.SelectionListener;
import com.extjs.gxt.ui.client.util.Margins;
import com.extjs.gxt.ui.client.widget.Info;
import com.extjs.gxt.ui.client.widget.Window; 
import com.extjs.gxt.ui.client.widget.button.Button;
import com.extjs.gxt.ui.client.widget.form.FileUploadField;
import com.extjs.gxt.ui.client.widget.form.FormPanel;
import com.extjs.gxt.ui.client.widget.form.FormPanel.Encoding;
import com.extjs.gxt.ui.client.widget.form.FormPanel.Method;
import com.extjs.gxt.ui.client.widget.form.TextField;
import com.extjs.gxt.ui.client.widget.layout.FitLayout;
import com.extjs.gxt.ui.client.widget.layout.FormData;
import com.extjs.gxt.ui.client.widget.layout.FormLayout;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.Element;
/**
 *
 * @author ISalnikov
 */
public class FileUploadWindow extends Window{

  private CwTabConstants constants = CwTabConstants.Util.getInstance();
    private final FormPanel panel;
    public FileUploadWindow() {
    setSize(350, 200);  
    setPlain(false);  
    setModal(true);  
    setBlinkModal(true);  
    setHeading("Window");  
    FormLayout layout = new FormLayout(FormPanel.LabelAlign.RIGHT);
    layout.setDefaultWidth(300);
    layout.setLabelWidth(70);
    layout.setLabelPad(5);
    setLayout(layout); 
    
      final String myurl = GWT.getModuleBaseURL() + "FileUploadServlet";
    
            panel = new FormPanel();
            panel.setHeaderVisible(false);
            panel.setBodyBorder(false);
            panel.setBorders(false);
            panel.setAction(myurl);
            panel.setEncoding(Encoding.MULTIPART);
            panel.setMethod(Method.POST);
            panel.setButtonAlign(HorizontalAlignment.CENTER);
            panel.setWidth(350);
            
        FormData data = new FormData("100%");
        data.setMargins(new Margins(5));
    
    TextField<String> name = new TextField<String>();  
    name.setFieldLabel("Name");  
   panel.add(name ,data );  
  
    FileUploadField file = new FileUploadField();  
    file.setAllowBlank(false);  
    file.setName("uploadFormElement");  
    file.setId("uploadFormElement");  
    file.setFieldLabel("File");  
    
    panel.add(file,data);  
    add(panel,data);    
    
    Button btnLoad =  new Button(constants.btnSubmit());
    btnLoad.addSelectionListener(new SelectionListener<ButtonEvent>() {

            @Override
            public void componentSelected(ButtonEvent ce) {
             Info.display("submit", "submit");
             panel.submit();
            }
        });
    
        Button btnReset = new Button(constants.btnReset());
        btnReset.addSelectionListener(new SelectionListener<ButtonEvent>()  {

            @Override
            public void componentSelected(ButtonEvent ce) {
                Info.display("reset", "reset");
                panel.reset();
            }
        });
    
    
    panel.addListener(Events.Submit, new Listener<BaseEvent>() {

            @Override
            public void handleEvent(BaseEvent be) {
                System.out.println("Submit panel " );
            }
        });
        
        
  setButtonAlign(HorizontalAlignment.LEFT);         
  addButton(btnLoad);          
  addButton(btnReset);   
    
    }

    public void clearFields() {
        
        if(this!= null && panel!= null)
        {
            panel.clear();
        }
    }
    
}




PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0618 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.