Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

EXT-GWT zapis danych do pliku z formularza

19 views
Skip to first unread message

J-23

unread,
Aug 30, 2010, 2:37:03 PM8/30/10
to
Witam

Czy da się (na pewno się da tylko potrzebuje malutkiej podpowiedzi) bo
utworzyłem sobie formularz za pomocą EXT-GWT i chcę teraz po stronie
serwera zmodyfikować plik (zapisać dane z tego formularza) i teraz co
powinna zwracać metoda po stronie serwera by taki plik
utworzyć/zmodyfikować.

samo utworzenie pliku tekstowego oraz zapis czegoś w nim w czystej Javie
jest bardzo prosty:

PrintWriter FW = new PrintWriter("Test.txt");
FW.write("PrintWrite");
FW.close();

Zaznaczam że wiem że mechanizm GWT zwraca to co ubierzemy w klasę
serializowaną itp sam mechanizm wiem jak działa tylko co powinno zwrócić
by utworzyć plik po stronie serwera

Jeżeli znajdzie się ktoś chętny pomóc mogę napisać kod jak ja to
próbowałem zrobić a co mi nie wychodzi (bo opis może być nie dla
wszystkich zrozumiały)

Pozdrawiam

William Bonawentura

unread,
Aug 31, 2010, 1:41:03 AM8/31/10
to

Użytkownik "J-23" <bacz...@poczta.fm> napisał w wiadomości
news:i5gtve$7lj$1...@mx1.internetia.pl...

> Witam
>
> Czy da się (na pewno się da tylko potrzebuje malutkiej podpowiedzi) bo
> utworzyłem sobie formularz za pomocą EXT-GWT i chcę teraz po stronie
> serwera zmodyfikować plik (zapisać dane z tego formularza) i teraz co
> powinna zwracać metoda po stronie serwera by taki plik
> utworzyć/zmodyfikować.

Generalnie kontrolka formularza (FormPanel) może:
1) Albo zbudować ci standardowe żądanie http POST/GET z tekstowymi
wartościami pól zakodowanymi przez application/x-www-form-urlencoded lub
multipart/form-data. Jest to technika "kompatybilności z html" i znajdziesz
na nią rozwiązanie w postaci serwletu.

2) Drugi sposób to samodzielne pobranie metodami getValue wartości
obiektowej pól i wysłanie ich do serwletu usługi GWT. Po tamtej stronie masz
już zwykłe POJO Javy i robisz z nimi to wszystko co można w serletach

3) Trzeci sposób to zbindowanie formularza z jakimś Store (może być wspólny
z gridem). Wówczas zmiany w formularzu modyfikują Record w rekordzie Store,
potem przetwarzasz zmodyfikowane rekordy w Store według koncepcji (2) lub
jeszcze jakoś inaczej po stronie przeglądarki

Tak czy inaczej twój problem nie jest wcale zależny od Ext-GWT :)

J-23

unread,
Aug 31, 2010, 5:37:37 AM8/31/10
to
W dniu 2010-08-31 07:41, William Bonawentura pisze:

Witam,
Dzięki za naprowadzenie, przyznam że wcześniej nie programowałem w Javie
a zachciało mi się aplikacji webowej :) a że mam jakoś awersję do PHP
stąd moje próby z Javą i EXT-GWT :)

Pozdrawiam

J-23

unread,
Aug 31, 2010, 10:50:23 AM8/31/10
to
W dniu 2010-08-31 07:41, William Bonawentura pisze:
>

Tak się głębiej zastanowiłem nad tym co mi tu napisałeś i tak potrafię
przekazać stringa serverlet (radzę sobie nawet z pobraniem danych z Bazy
:) a pliku nie moge przeskoczyć :) ) lecz gdy zaczynam korzystać czy to
z obiektu "File" (by sprawdzić czy plik istnieje) to sypie mi błędami
zastanawia mnie po prostu co przekazać z servelet bym mógł normale po w
ciśnięciu guzika mógł utworzyć plik i zapisać w nim dane z formularza.

bo znalazłem ciekawy przykład
http://comments.gmane.org/gmane.org.google.gwt/42403 gdzie chłopaki
zwracają pustego stringa ale ale w/w nie działa (lub coś pokręciłem)

Bardziej obrazowo to dlaczego po wstawieniu do metody (odwołania do
obiektu File wywala błąd)

public String setDatabase(String database, String user, String
password, Integer port) throws IOException {
// TODO Auto-generated method stub
DBF.setDatabase(database);
DBF.setUser(user);
DBF.setPassword(password);
DBF.setPort(port);

File F = new File("C:\\Test.txt"); --> ta linia sprawia kłopoty

return null;

Na mój prosty rozum przy takim podejściu owszem nie będziemy widzieć czy
jest plik czy go nie ma (bo nie ma tego oprogramowanego) ale zastanawia
mnie czemu wywala błąd

Wiem że zakładając wątek pytałem jak zapisać ale głównie chodzi o to co
powinna taka metoda zwracać.

Sorki blachę pytania tych którzy są starymi wyjadaczami GWT ale
sensownej odpowiedzi nie znalazłem w sieci więc pytam.

Pozdrawiam

Marcin Biegan

unread,
Aug 31, 2010, 9:51:47 PM8/31/10
to
W dniu 2010-08-31 16:50, J-23 pisze:

> public String setDatabase(String database, String user, String
> password, Integer port) throws IOException {
> // TODO Auto-generated method stub
> DBF.setDatabase(database);
> DBF.setUser(user);
> DBF.setPassword(password);
> DBF.setPort(port);
>
> File F = new File("C:\\Test.txt"); --> ta linia sprawia kłopoty

Jakie kłopoty?

> return null;
>
> Na mój prosty rozum przy takim podejściu owszem nie będziemy widzieć czy
> jest plik czy go nie ma (bo nie ma tego oprogramowanego) ale zastanawia
> mnie czemu wywala błąd

Jaki błąd?

--
pozdrawiam
MB

William Bonawentura

unread,
Sep 1, 2010, 2:52:53 AM9/1/10
to

Użytkownik "J-23" <bacz...@poczta.fm> napisał w wiadomości
news:i5j52h$pmq$1...@mx1.internetia.pl...

>
> Sorki blachę pytania tych którzy są starymi wyjadaczami GWT ale sensownej
> odpowiedzi nie znalazłem w sieci więc pytam.
>

Tworząc plik w metodzie serwletu "wyszedłeś" już poza obszar GWT - jest to
już normalna Java. Skopiuj to co dostajesz w tracebacku serwera i pomyślimy
dalej.

J-23

unread,
Sep 1, 2010, 8:58:31 AM9/1/10
to
W dniu 2010-09-01 08:52, William Bonawentura pisze:

Chyba doszedlem juz co i jak... o pełnych efektach dam znac na grupie za
jakis czas.

Pozdrawiam

0 new messages