Code-Behind
Dobrý den, Jsem programátor C# a ve svém volném čase si rozšiřuji obzory a učím se Java. Nedávno jsem zkoušel napsat web aplikace a trochu mi chybělo rozdělění code od HTML. A teď k mé otázce: Existuje možnost psát JSP stránky v režimu Code-Behind ? Když jsem se koukal na videa NetBeans 6 beta 1, tak se mi zdálo že tam něco jako code-behind je, ale nejsem si jist. Předem děkuji za odpověď, Korecký
Re: bezpecna java web-aplikacia?
Ivan 596 wrote: Dňa 22.10.2007, *Martin Kuba* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] napísal(a): 0. Prihlasovanie odosielane cez POST-metodu :-) Vsechny odesilani formularu by mely jit pres POST metodu, ne jen prihlasovani. A po POSTu je dobre delat redirect. tomuto celkom nerozumiem... Při předávání dat přes URL není jisté, jaké kódování českých znaků se použije, kdežto při posílání přes POST to jisté je. Například u TomCatu je nutné dělat speciální změny v jeho konfiguraci, pokud si chcete předat data s diakritikou v URL. No a redirect po POSTu je dobrý na to, že uživatel může klidně zmáčknout tlačítko Reload, a nic se nestane, neodešle formulář omylem podruhé. Lidé opravdu nelibě nesou, když třeba zaplatí za zboží dvakrát, protože špatně klikli. 3. Kazda stranka (okrem prihlasovacej) na zaciatku testuje ci existuje session s id uzivatela, teda iba uz prihlaseny mozu pristupovat Je zbytecne duplikovat kod a mit to v kazde strance na zacatku, mnohem lepsi je udelat si na to Filter mapovany na vsechny stranky (a pro prihlasovaci v nem mit vyjimku). ano, ano, ja to mam v tzv. page-header, v struts sa to vola include-prelude alebo podobne To není dobrá technika, protože pak máte kód v JSP stránkách. Při přechodu z PHP to sice může vypadat jako logická volba, kam umístit kód, ale je to principiálně špatně. Už proto, že takový kód se kompiluje až za runtime, takže na něm neproběhne statická kontrola překladače při překladu aplikace. A mimochodem, include-prelude není věc Struts, ale konfigurace JSP ve web.xml. Jak uz psal Filip Jirsak, Java neni skriptovaci jazyk, a proti nekterym typum utoku je z principu odolna. znameno to, ze v jave ak ma uzivatel pristup k spracovaniu formulara, nevadi ak by povynechaval ci popridaval nekorektne parametre? Ano, nevadí. Stejně tak je Java z principu odolná proti buffer overrun útokům. ze c:out ... osetruje toto som netusil, vdaka v mojom pripade idu ale vsetky data najprv do databazy, neskor sa z nej nejake vypisuju na stranku To je přece úplně jedno, jestli jdou nejřív do databáze, to ničemu nepomůže. Když uživatel zadá text typu script window.close();/script!-- tak jeho uložení do databáze a opětné vyzvednutí obsah textu nijak nezmění, při neošetřeném výpisu na stránku zafunguje. A hlavne pri kazdem pristupu k datum si kontrolovat, zda na to ma uzivatel opravneni, protoze zly uzivatel si muze rucne vytvaret URL tak, aby volal zpracovani formularu, aniz by se k formularum musel dostat. musel by poznat presnu URL adresu:-) To není problém. Když bude mít právo měnit svoje data, tak odkouká URL a pak by byl schopen měnit cizí data. Security by obscurity nikdy nefungovala, viz např. slavné prolomení ochrany systému GSM ... Makub -- ~~ Supercomputing Center Brno Martin Kuba Institute of Computer Scienceemail: [EMAIL PROTECTED] Masaryk University http://www.ics.muni.cz/~makub/ Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775 -- smime.p7s Description: S/MIME Cryptographic Signature
Re: Code-Behind
Nevim jestli si predstavujete pod pojmem Code-Behind to same co ja, kazdopadne: - vetsina web frameworku je striktne MVC - JSF + Facelets|Clay, Tapestry, Wicket umoznuji psat stare dobre HTML a pres specialni binding (atribut HTML elementu) napojit jednotlive komponenty na jejich serverove protejsky Ing. Vladislav Korecký napsal(a): Dobrý den, Jsem programátor C# a ve svém volném čase si rozšiřuji obzory a učím se Java. Nedávno jsem zkoušel napsat web aplikace a trochu mi chybělo rozdělění code od HTML. A teď k mé otázce: Existuje možnost psát JSP stránky v režimu Code-Behind ? Když jsem se koukal na videa NetBeans 6 beta 1, tak se mi zdálo že tam něco jako code-behind je, ale nejsem si jist. Předem děkuji za odpověď, Korecký -- S pozdravem Roman Dagi Pichlik /* http://www.sweb.cz/pichlik/ Blog pro kodery */
Re: Code-Behind
V C# je situace následující : Každá aspx stránka má 3 soubory: jmeno.aspx - layout stránky, serverovy prvek (komponenta) je reprezentovana spec. HTML elementem např: cc1:mujKontrol ... / jmeno.design.cs - design generated code, kod generovany designerem (VS2005) Jsou zde deklarace objektu použitých v aspx stránce. jmeno.cs - samotný C# code dané stránky (metody, property, atd ... ) Pak je striktně oddělen layout od samotného kodu. A uvítal bych tuto možnost i v Java, dle vaší odpovědi soudím, že to tam jde a že je to ta druhá možnost. Je to tak ? Doufám že jsem to popsal srozumitelně. Korecký Roman Pichlik wrote: Nevim jestli si predstavujete pod pojmem Code-Behind to same co ja, kazdopadne: - vetsina web frameworku je striktne MVC - JSF + Facelets|Clay, Tapestry, Wicket umoznuji psat stare dobre HTML a pres specialni binding (atribut HTML elementu) napojit jednotlive komponenty na jejich serverove protejsky Ing. Vladislav Korecký napsal(a): Dobrý den, Jsem programátor C# a ve svém volném čase si rozšiřuji obzory a učím se Java. Nedávno jsem zkoušel napsat web aplikace a trochu mi chybělo rozdělění code od HTML. A teď k mé otázce: Existuje možnost psát JSP stránky v režimu Code-Behind ? Když jsem se koukal na videa NetBeans 6 beta 1, tak se mi zdálo že tam něco jako code-behind je, ale nejsem si jist. Předem děkuji za odpověď, Korecký
Re: Code-Behind
Ahoj, ona je to i ta prvni moznost :-)) protoze vsechny frameworky vypsane v druhem bode pouzivaji MVC jako navrhovy vzor. Jirka Ing. Vladislav Korecký napsal(a): V C# je situace následující : Každá aspx stránka má 3 soubory: jmeno.aspx - layout stránky, serverovy prvek (komponenta) je reprezentovana spec. HTML elementem např: cc1:mujKontrol ... / jmeno.design.cs - design generated code, kod generovany designerem (VS2005) Jsou zde deklarace objektu použitých v aspx stránce. jmeno.cs - samotný C# code dané stránky (metody, property, atd ... ) Pak je striktně oddělen layout od samotného kodu. A uvítal bych tuto možnost i v Java, dle vaší odpovědi soudím, že to tam jde a že je to ta druhá možnost. Je to tak ? Doufám že jsem to popsal srozumitelně. Korecký Roman Pichlik wrote: Nevim jestli si predstavujete pod pojmem Code-Behind to same co ja, kazdopadne: - vetsina web frameworku je striktne MVC - JSF + Facelets|Clay, Tapestry, Wicket umoznuji psat stare dobre HTML a pres specialni binding (atribut HTML elementu) napojit jednotlive komponenty na jejich serverove protejsky Ing. Vladislav Korecký napsal(a): Dobrý den, Jsem programátor C# a ve svém volném čase si rozšiřuji obzory a učím se Java. Nedávno jsem zkoušel napsat web aplikace a trochu mi chybělo rozdělění code od HTML. A teď k mé otázce: Existuje možnost psát JSP stránky v režimu Code-Behind ? Když jsem se koukal na videa NetBeans 6 beta 1, tak se mi zdálo že tam něco jako code-behind je, ale nejsem si jist. Předem děkuji za odpověď, Korecký -- Jiří Mareš (mailto:[EMAIL PROTECTED]) ČSAD SVT Praha, s.r.o. (http://www.svt.cz) Czech Republic
Re: Code-Behind
Ing. Vladislav Korecký wrote: Dobrý den, Jsem programátor C# a ve svém volném čase si rozšiřuji obzory a učím se Java. Nedávno jsem zkoušel napsat web aplikace a trochu mi chybělo rozdělění code od HTML. A teď k mé otázce: Existuje možnost psát JSP stránky v režimu Code-Behind ? V javě se tomu neříká Code-behind, ale separace kódu a HTML. Vycházím z toho, co o code-behind píšou na http://support.microsoft.com/kb/303247 Je více možností, jak to udělat. Jedna je, že v JSP stránce použijete [EMAIL PROTECTED] extends=cz.neco.MojeTrida % a v MojeTrida.java bude kód. Ale tak se to obvykle nedělá, protože JSP na rozdíl od ASP.NET neprovedou žádnou magii, která by při kliknutí na button vyvolala metodu na třídě. Používají se různé frameworky, a každý na to jde jinak. Podívejte se na moje oblíbené Stripes http://stripes.mc4j.org/confluence/display/stripes/Home tam se to udělá tak, že v JSP je %@ taglib prefix=s uri=http://stripes.sourceforge.net/stripes.tld; % s:form action=/obsluha.action s:errors/ tabletr tdjméno:/td tds:text name=jmeno //td /tr/table s:submit name=delejNecoOdesli/s:submit /s:form a pak musí existovat třída, ve které je: @UrlBinding(/obsluha.action) public class Obsluha implements ActionBean { ... @Validate(on = {delejNeco}, required=true) private String jmeno; public String getJmeno() { return jmeno; } public void setJmeno(String s) { jmeno = s; } public Resolution delejNeco() { //nejaka prace s promennou jmeno return new ForwardResolution(/nejaka.jsp); } A jestli nam v Jave 7 zavedou @Property, tak se to otravne getJmeno() a setJmeno() nebude muset psat. Makub -- ~~ Supercomputing Center Brno Martin Kuba Institute of Computer Scienceemail: [EMAIL PROTECTED] Masaryk University http://www.ics.muni.cz/~makub/ Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775 -- smime.p7s Description: S/MIME Cryptographic Signature
Re: Code-Behind
A jak je to s obsluhou jednotlivých kontrolů na serveru ? Opět malá ukázka ze C#: File.aspx: ... input type=text id=mujTextBox runat=server / ... File.cs ... mujTextBox.Text = Muj text; ... Nevím zda je to z mé ukázky patrné, ale jde o to, že když dám kontrolu v aspx stránce přepínač runat=server, je tento kontrol dostupný na serverové částí a mohu s ním pracovat jako s každým jiným objektem. Je to součást Code-Behind přístupu. Mám tuto možnost i v Java ? Pokud ano můžete mi prosím poslat nějaký link na tutorial ? Děkuji, Korecký Jiri Mares wrote: Ahoj, ona je to i ta prvni moznost :-)) protoze vsechny frameworky vypsane v druhem bode pouzivaji MVC jako navrhovy vzor. Jirka Ing. Vladislav Korecký napsal(a): V C# je situace následující : Každá aspx stránka má 3 soubory: jmeno.aspx - layout stránky, serverovy prvek (komponenta) je reprezentovana spec. HTML elementem např: cc1:mujKontrol ... / jmeno.design.cs - design generated code, kod generovany designerem (VS2005) Jsou zde deklarace objektu použitých v aspx stránce. jmeno.cs - samotný C# code dané stránky (metody, property, atd ... ) Pak je striktně oddělen layout od samotného kodu. A uvítal bych tuto možnost i v Java, dle vaší odpovědi soudím, že to tam jde a že je to ta druhá možnost. Je to tak ? Doufám že jsem to popsal srozumitelně. Korecký Roman Pichlik wrote: Nevim jestli si predstavujete pod pojmem Code-Behind to same co ja, kazdopadne: - vetsina web frameworku je striktne MVC - JSF + Facelets|Clay, Tapestry, Wicket umoznuji psat stare dobre HTML a pres specialni binding (atribut HTML elementu) napojit jednotlive komponenty na jejich serverove protejsky Ing. Vladislav Korecký napsal(a): Dobrý den, Jsem programátor C# a ve svém volném čase si rozšiřuji obzory a učím se Java. Nedávno jsem zkoušel napsat web aplikace a trochu mi chybělo rozdělění code od HTML. A teď k mé otázce: Existuje možnost psát JSP stránky v režimu Code-Behind ? Když jsem se koukal na videa NetBeans 6 beta 1, tak se mi zdálo že tam něco jako code-behind je, ale nejsem si jist. Předem děkuji za odpověď, Korecký
Re: Code-Behind
Mám tuto možnost i v Java ? jasne viz predchozi prispevky ;-) Pokud ano můžete mi prosím poslat nějaký link na tutorial ? Stahnete si NetBeans s Visual Web Packem a nechtesi vytvorit sample JSF aplikaci. To je asi nejrychlejsi zpusob jak se do toho ponorit. V Jave existuje velke mnozstvi web frameworku viz zminovany Wicket, Tapestry a dalsi, takze potom si staci vybrat podle osobni preference. Oddeleni, ktere zminijete podporuji vsechny - nektere mene a nektere vice obratne...
Hibernate Criteria order by max()
Zdar, hledal jsem a myslim, ze to neni mozne, ale radsi se zeptam. lze pomoci Criteria napsat tento ORDER BY jde mi hlavne o to aby ten MAX() nemusel byt v selectu, pokud tam je tak to jde v pohode pres alias. diky SELECT E.DUTY FROM TIPSYS_STRUCTURE.EMPLOYEES E where DATE_WORK_START sysdate-200 GROUP BY E.DUTY ORDER BY MAX(DATE_WORK_START)
Re: Code-Behind
Tak kdyz uz rozjizdime ten flame, pak bych jako jednoduchy a velmi produktivni framerk doporucil Tapetsry 5 :-)) Jozef Babjak napsal(a): Pokud ano můžete mi prosím poslat nějaký link na tutorial ? Stahnete si NetBeans s Visual Web Packem a nechtesi vytvorit sample JSF aplikaci. To je asi nejrychlejsi zpusob jak se do toho ponorit. V Jave ^-- No, neviem, ci JSF je najvhodnejsi starting point pre niekoho, kto sa potrebuje zoznamit vobec s fungovanim MVC webovych frameworkov zalozenych na Jave. Hlasoval by som za uz vyssie zmieneny Stripes. J. -- Jiří Mareš (mailto:[EMAIL PROTECTED]) ČSAD SVT Praha, s.r.o. (http://www.svt.cz) Czech Republic
Re: Code-Behind
Jiri Mares wrote: Tak kdyz uz rozjizdime ten flame, pak bych jako jednoduchy a velmi produktivni framerk doporucil Tapetsry 5 :-)) Tak si to rozdame na ferovku. Google fight :-) http://www.googlefight.com/index.php?lang=en_GBword1=stripes+web+frameworkword2=tapestry+5+web+framework Makub -- ~~ Supercomputing Center Brno Martin Kuba Institute of Computer Scienceemail: [EMAIL PROTECTED] Masaryk University http://www.ics.muni.cz/~makub/ Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775 -- smime.p7s Description: S/MIME Cryptographic Signature
Re: Code-Behind
je to vhodne, protoze to ma IMHO silnou podporu v IDE a to je podle me velice dulezite ze zacatku. Navic filozofie Web Packu je podobna ^-- Silna podpora v IDE? Ano, to je presne to, co NESMIE mat zaciatocnik, ktory potrebuje najskor pochopit, co presne musi implementovat, konfigurovat, ako to prelozit a ako to deploynut. Ked vsetko toto vie urobit rucne, moze pouzit vykonnu podporut v IDE aby robil veci rychlejsie a nezatazoval sa reziou frameworku. Ak mu polovicu veci skryjete za IDE, tak ten framework nikdy nepochopi. J.
RE: Code-Behind
Dekuji za skvelou formulaci, do kamene tesat! Osobne bych veskera klikatka zakazal, aplikace by byly hned hezci :-)) Mirek -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jozef Babjak Sent: Thursday, October 25, 2007 10:54 AM To: Java Subject: Re: Code-Behind je to vhodne, protoze to ma IMHO silnou podporu v IDE a to je podle me velice dulezite ze zacatku. Navic filozofie Web Packu je podobna ^-- Silna podpora v IDE? Ano, to je presne to, co NESMIE mat zaciatocnik, ktory potrebuje najskor pochopit, co presne musi implementovat, konfigurovat, ako to prelozit a ako to deploynut. Ked vsetko toto vie urobit rucne, moze pouzit vykonnu podporut v IDE aby robil veci rychlejsie a nezatazoval sa reziou frameworku. Ak mu polovicu veci skryjete za IDE, tak ten framework nikdy nepochopi. J.
Re: Code-Behind
Osobne bych veskera klikatka zakazal, aplikace by byly hned hezci :-)) ^-- Silna podpora v IDE? Ano, to je presne to, co NESMIE mat zaciatocnik, ktory potrebuje najskor pochopit, co presne musi implementovat, konfigurovat, ako to prelozit a ako to deploynut. Ked vsetko toto vie urobit rucne, moze pouzit vykonnu podporut v IDE aby robil veci rychlejsie a nezatazoval sa reziou frameworku. Ak mu polovicu veci skryjete za IDE, tak ten framework nikdy nepochopi. ma absolutne opacny nazor. Zacatecnik by mel jit tou nejsnazsi cestou k cili (to muze byt treba hello world aplikace nebo jednoduchy formular). Az tam dojde, mel by se zacit zajimat o sirsi kontext. Kdyz tohle vsechno pobere, muze klidne zahodit vsechna klikaci udelatka a psat to rucne. Je nerozvazne odsuzovat klikatka jenom z toho duvodu, ze je nekdo muze spatne pouzit. K stejnemu zneuziti muze dojit i v pripade, ze clovek danou vec nepochopi. Muj nazor je, ze do rukou zacatecniku patri silne nastroje. Zrno od plev se oddeli pozdeji... -- S pozdravem Roman Dagi Pichlik /* http://www.sweb.cz/pichlik/ Blog pro kodery */
Re: Code-Behind
Ahoj, na klikatka nemam vyhraneny nazor zda ano nebo ne, ale nepouzivam je ... Spis mam problem s tim, ze zpristupnuji programovani lidem, kteri by radeji programovat nemeli a to me nevadi dokud se me to netyka, jakmile mi neco podobneho prijde do cesty, vrazda je malo :-))) Jirka Roman Pichlik napsal(a): Osobne bych veskera klikatka zakazal, aplikace by byly hned hezci :-)) ^-- Silna podpora v IDE? Ano, to je presne to, co NESMIE mat zaciatocnik, ktory potrebuje najskor pochopit, co presne musi implementovat, konfigurovat, ako to prelozit a ako to deploynut. Ked vsetko toto vie urobit rucne, moze pouzit vykonnu podporut v IDE aby robil veci rychlejsie a nezatazoval sa reziou frameworku. Ak mu polovicu veci skryjete za IDE, tak ten framework nikdy nepochopi. ma absolutne opacny nazor. Zacatecnik by mel jit tou nejsnazsi cestou k cili (to muze byt treba hello world aplikace nebo jednoduchy formular). Az tam dojde, mel by se zacit zajimat o sirsi kontext. Kdyz tohle vsechno pobere, muze klidne zahodit vsechna klikaci udelatka a psat to rucne. Je nerozvazne odsuzovat klikatka jenom z toho duvodu, ze je nekdo muze spatne pouzit. K stejnemu zneuziti muze dojit i v pripade, ze clovek danou vec nepochopi. Muj nazor je, ze do rukou zacatecniku patri silne nastroje. Zrno od plev se oddeli pozdeji... -- Jiří Mareš (mailto:[EMAIL PROTECTED]) ČSAD SVT Praha, s.r.o. (http://www.svt.cz) Czech Republic
Re: Code-Behind
Ono Pochopit framework je relativni pojem. I ten kdo uspesne nekolik let pouziva napr. Struts ho plne nechape, respektive ho chape jen natolik, nakolik ho chapat potrebuje. Vzdyt na co by bylo dobre, aby kazdy clen teamu perfektne rozumel tomu jak napsat treba plugin do Struts, kdyz to pro danou Struts aplikaci neni vubec plugin potreba? Kazdy slozitejsi framework plne chapou snad jen jeho autori a ani tam si nejsem uplne jisty. Ze vyvojar ma pochopit co se ma implementovat neni zavisle na tom jestli se rozhodne pouzivat IDE nebo Notepad. O deployment na cilovy server se u vetsich projektu casto stara deployment specialista a vetsine vyvojaru pak muze stacit jen Tomcat integrovany do IDE. Kazdopadne to uz jsme trochu mimo puvodni tema... Take jsem hledal jestli v Jave existuje framework co funguje na principu ASP.NET nebo Adobe Flex (tj. deklarace v XML + oddeleny code behind na obsluhu udalosti a manipulaci s komponentami), ale nic podobneho zatim v Jave neobjevil. Ostatne je zajimave, ze na stejne filozoficke bazi jako ASP.NET nebo Flex vlastne funguje i stare dobre HTML+DOM+JavaScript. HTML je deklarace komponent a code behing je Javascript spousteny udalostmi a operujici nad DOMem. Ovsem HTML je bohuzel takovy jake je a Javascript s Javou nebo C# opravdu srovnavat nema smysl :-) Navic to cele bezi jen na klientovi. Ale zpusob vyvoje je vlastne podobny jako v ASP.NET. Jozef Babjak wrote: je to vhodne, protoze to ma IMHO silnou podporu v IDE a to je podle me velice dulezite ze zacatku. Navic filozofie Web Packu je podobna ^-- Silna podpora v IDE? Ano, to je presne to, co NESMIE mat zaciatocnik, ktory potrebuje najskor pochopit, co presne musi implementovat, konfigurovat, ako to prelozit a ako to deploynut. Ked vsetko toto vie urobit rucne, moze pouzit vykonnu podporut v IDE aby robil veci rychlejsie a nezatazoval sa reziou frameworku. Ak mu polovicu veci skryjete za IDE, tak ten framework nikdy nepochopi. J.
Re: Code-Behind
Kazdopadne to uz jsme trochu mimo puvodni tema... Take jsem hledal jestli v Jave existuje framework co funguje na principu ASP.NET nebo Adobe Flex (tj. deklarace v XML + oddeleny code behind na obsluhu udalosti a manipulaci s komponentami), ale nic podobneho zatim v Jave neobjevil. po treti, existuji - JSF+facelects|clay - Tapestry - Wicket -- S pozdravem Roman Dagi Pichlik /* http://www.sweb.cz/pichlik/ Blog pro kodery */
Re: Code-Behind
Roman Pichlik wrote: Kazdopadne to uz jsme trochu mimo puvodni tema... Take jsem hledal jestli v Jave existuje framework co funguje na principu ASP.NET nebo Adobe Flex (tj. deklarace v XML + oddeleny code behind na obsluhu udalosti a manipulaci s komponentami), ale nic podobneho zatim v Jave neobjevil. po treti, existuji - JSF+facelects|clay - Tapestry - Wicket a - Stripes :-) Makub -- ~~ Supercomputing Center Brno Martin Kuba Institute of Computer Scienceemail: [EMAIL PROTECTED] Masaryk University http://www.ics.muni.cz/~makub/ Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775 -- smime.p7s Description: S/MIME Cryptographic Signature
Re: Code-Behind
Martin Kuba napsal(a): Roman Pichlik wrote: Kazdopadne to uz jsme trochu mimo puvodni tema... Take jsem hledal jestli v Jave existuje framework co funguje na principu ASP.NET nebo Adobe Flex (tj. deklarace v XML + oddeleny code behind na obsluhu udalosti a manipulaci s komponentami), ale nic podobneho zatim v Jave neobjevil. po treti, existuji - JSF+facelects|clay - Tapestry - Wicket a - Stripes :-) a urcite nektere dalsi ;-) -- S pozdravem Roman Dagi Pichlik /* http://www.sweb.cz/pichlik/ Blog pro kodery */
Re: Code-Behind
Vsem dekuji za odpovedi. Resenim je tedy pouzit Framework (viz. nize). Vim ze jste se zde preli zda klikatka ano nebo ne, ale ja bych na zacatek radeji to klikatko :-) Ktery z techto frameworku vybrat, aby byl co nejvice integrovan do NetBeans ? Roman Pichlik wrote: Martin Kuba napsal(a): Roman Pichlik wrote: Kazdopadne to uz jsme trochu mimo puvodni tema... Take jsem hledal jestli v Jave existuje framework co funguje na principu ASP.NET nebo Adobe Flex (tj. deklarace v XML + oddeleny code behind na obsluhu udalosti a manipulaci s komponentami), ale nic podobneho zatim v Jave neobjevil. po treti, existuji - JSF+facelects|clay - Tapestry - Wicket a - Stripes :-) a urcite nektere dalsi ;-)
Re: Code-Behind
U Stripes jsem nasel pekny quick start, tak treba na nem muzu osvetlit proc to neni uplne ten styl programovani na jaky je asi kolega zvykly z ASP.NET U Stripes deklaruju komponentu v JSP: stripes:text name=numberOne/ Potud fajn... Ale abych s touto komponentou mohl vubec zacit pracovat v code behind (ziskat z ni treba text) musim pro ni deklarovat v Jave bean s alespon: public double getNumberOne() { return numberOne; } public void setNumberOne(double numberOne) { this.numberOne = numberOne; } Navic se musim drzet jmenne konvence a ten bean pojmenovat CalculatorActionBean a implementovat ActionBean. To je asi jako bych ve Swingu nekam umistil JTextField a jeste musel vytvorit POJO tridu s getText() a setText() metodama jen kvuli tomu abych mohl z toho textfieldu ziskat text. A navic bych jeste musel v konstruktoru rict ze ten JTextField ma ID napr. Calculator a tu POJO tridu musel pojmenovat CalculatorActionBean a implementovat nejaky interface. Tedy zrovna intuitivni mi takovyto programatorsky styl neprijde. Od intuitivniho web frameworku bych cekal ze s komponentou numberOne budu rovnou v Jave (v code behind) pracovat takto: String text = numberOne.getText(); numberOne.setText(Franta) Pricemz o deklaraci promene numberOne se uz nestaram, protoze ta uz byla jednou deklarovana v JSP (neboli don't repeat yourself). Petr __ Od: [EMAIL PROTECTED] Komu: Java konference@java.cz Datum: 25.10.2007 16:38 Předmět: Re: Code-Behind Roman Pichlik wrote: Kazdopadne to uz jsme trochu mimo puvodni tema... Take jsem hledal jestli v Jave existuje framework co funguje na principu ASP.NET nebo Adobe Flex (tj. deklarace v XML + oddeleny code behind na obsluhu udalosti a manipulaci s komponentami), ale nic podobneho zatim v Jave neobjevil. po treti, existuji - JSF+facelects|clay - Tapestry - Wicket a - Stripes :-) Makub -- ~~ Supercomputing Center Brno Martin Kuba Institute of Computer Scienceemail: [EMAIL PROTECTED] Masaryk University http://www.ics.muni.cz/~makub/ Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775 --
Re: Code-Behind
Petr Synek wrote: To je asi jako bych ve Swingu nekam umistil JTextField a jeste musel vytvorit POJO tridu s getText() a setText() metodama jen kvuli tomu abych mohl z toho textfieldu ziskat text. A navic bych jeste musel v konstruktoru rict ze ten JTextField ma ID napr. Calculator a tu POJO tridu musel pojmenovat CalculatorActionBean a implementovat nejaky interface. Tedy zrovna intuitivni mi takovyto programatorsky styl neprijde. Od intuitivniho web frameworku bych cekal ze s komponentou numberOne budu rovnou v Jave (v code behind) pracovat takto: String text = numberOne.getText(); numberOne.setText(Franta) Pricemz o deklaraci promene numberOne se uz nestaram, protoze ta uz byla jednou deklarovana v JSP (neboli don't repeat yourself). Jak se koukam na code-behind na http://support.microsoft.com/kb/303247 tak ten TextBox je tam taky definovany dvakrat, jednou v ASPX: asp:textbox id=MyTextBox text=Hello World runat=server/asp:textbox a podruhe ve tride: protected System.Web.UI.WebControls.TextBox MyTextBox; Jestli .NET pristupuje k protected promennym primo, bez setXXX() a getXXX() metod, tak je to strucnejsi, ale porusuje to ruzne zasady, ktere nam SUN vtlouka do hlavy. Nevidim vyhodu toho, kdyz musim objekt nadeklarovat a pak na nem volat metodu: protected System.Web.UI.WebControls.TextBox MyTextBox; public void MyButton_Click(Object sender, EventArgs e){ MyLabel.Text = MyTextBox.Text.ToString(); } oproti tomu, kdyz nadefinuju rovnou hodnotu: private String text; public Resolution click() { label = text; text = Franta; ... } Ale jestli to moc potrebujete, staci udelat toto: public class Neco implements ActionBean{ ... public static class TextBox { private String text; public String getText() { return text; } public void setText(String s) { text = s;} } private TextBox textBox = new TextBox(); public TextBox getTextBox() { return textBox; } public Resolution click() { String text = textBox.getText(); textBox.setText(Franta); } a v JSP udelat s:text name=textBox.text / Tot vse. Makub -- ~~ Supercomputing Center Brno Martin Kuba Institute of Computer Scienceemail: [EMAIL PROTECTED] Masaryk University http://www.ics.muni.cz/~makub/ Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775 -- smime.p7s Description: S/MIME Cryptographic Signature
Re: Code-Behind
O asp.net asi tolko: 1, Asp.net je UI komponentovo orientovane(ako swing), okrem toho obsahuje aj nevisualne komponenty, to je fajn lebo s komponentami sa dobre robi. Teda pracuje sa s komponentami a nie s nejakym hlupym HTML. Tie sa vedia renderovat rovnako v roznych prehliadacoch, viazat na data, definovat vzhlad - proste klasika, napajame na ne kontroler. 2, Asp sa mi nezda ukecane. Vela veci sa dopise do code behind po kliknuti v designeri. 3, Myslim ze code behind je v java web frameworkoch bezny(ale nie vo vsetkych) aj ked je inak implementovany. 4, getter alebo setter si moze kazdy dorobit, lenze v .net to nie je konvencia ako v jave. Totiz getter a setter je potreby iba ak v nom nieco robis alebo menis visibility. V danom pripade protected System.Web.UI.WebControls.TextBox MyTextBox; nie je potrebny. Popravde property v c# ma problem ze visibility settera sa nutne = visibility gettera. Tomas Martin Kuba wrote / napísal(a): Petr Synek wrote: To je asi jako bych ve Swingu nekam umistil JTextField a jeste musel vytvorit POJO tridu s getText() a setText() metodama jen kvuli tomu abych mohl z toho textfieldu ziskat text. A navic bych jeste musel v konstruktoru rict ze ten JTextField ma ID napr. Calculator a tu POJO tridu musel pojmenovat CalculatorActionBean a implementovat nejaky interface. Tedy zrovna intuitivni mi takovyto programatorsky styl neprijde. Od intuitivniho web frameworku bych cekal ze s komponentou numberOne budu rovnou v Jave (v code behind) pracovat takto: String text = numberOne.getText(); numberOne.setText(Franta) Pricemz o deklaraci promene numberOne se uz nestaram, protoze ta uz byla jednou deklarovana v JSP (neboli don't repeat yourself). Jak se koukam na code-behind na http://support.microsoft.com/kb/303247 tak ten TextBox je tam taky definovany dvakrat, jednou v ASPX: asp:textbox id=MyTextBox text=Hello World runat=server/asp:textbox a podruhe ve tride: protected System.Web.UI.WebControls.TextBox MyTextBox; Jestli .NET pristupuje k protected promennym primo, bez setXXX() a getXXX() metod, tak je to strucnejsi, ale porusuje to ruzne zasady, ktere nam SUN vtlouka do hlavy. Nevidim vyhodu toho, kdyz musim objekt nadeklarovat a pak na nem volat metodu: protected System.Web.UI.WebControls.TextBox MyTextBox; public void MyButton_Click(Object sender, EventArgs e){ MyLabel.Text = MyTextBox.Text.ToString(); } oproti tomu, kdyz nadefinuju rovnou hodnotu: private String text; public Resolution click() { label = text; text = Franta; ... } Ale jestli to moc potrebujete, staci udelat toto: public class Neco implements ActionBean{ ... public static class TextBox { private String text; public String getText() { return text; } public void setText(String s) { text = s;} } private TextBox textBox = new TextBox(); public TextBox getTextBox() { return textBox; } public Resolution click() { String text = textBox.getText(); textBox.setText(Franta); } a v JSP udelat s:text name=textBox.text / Tot vse. Makub