ahoj pekna diskuse o frameworcich je na http://www.theserverside.com/news/thread.tss?thread_id=47344
Martin On 10/25/07, Tomas Studva <[EMAIL PROTECTED]> wrote: > > 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 > > > > > > >