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
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 :)
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
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
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
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.
Chyba doszedlem juz co i jak... o pełnych efektach dam znac na grupie za
jakis czas.
Pozdrawiam