Když si porovnáte Swing a JSF, tak jsou na tom stejně, třeba JLabel [JLabel] vs. UIOutput [UIOutput], to jsou ekvivalentní komponenty, definující gettery/settery pro své atributy. Backing Bean, do které vpisujete getttery/settery reprezentuje nějaký logický celek rozhraní, nikoliv jedinou komponentu. To není to samé, ne?
Ani nevím, jestli něco, jako Backing Bean se používá ve Swingu? [JLabel] http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JLabel.html [UIOutput] http://java.sun.com/javaee/javaserverfaces/1.1/docs/api/javax/faces/componen t/UIOutput.html S pozdravem Josef Petrák, Java vývojář ------------------------------- FOAF: http://jspetrak.zapisky.info/profile.rdf E-mail: [EMAIL PROTECTED] Jabber: [EMAIL PROTECTED] Mobil: +420603254189 ICQ: 179271149 ------------------------------- KYBERIE Web: http://www.kyberie.cz Tel: +420226002016 -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Petr Synek Sent: Friday, October 26, 2007 11:29 AM To: Java Subject: Re: Code-Behind Jo s tou dvoji deklaraci mas pravdu. Jednou je to v ASPX a jednou v parcialni tride generovane automaticky IDE. Mne jinak nevadi ze pouzivam get() set(), vadi mi jen ze ty get() set() musim zbytecne psat do beany, ktera navic musi implementovat cosi (takze spousta zbytecne prace). Kdyz ve Swingu pouziju textfield, tak taky nemusim dopisovat nejake metody abych vytahl z koponenty jeji hodnotu. Swing komponenta vsechny metody pro praci s ni uz ma v sobe. Podobne bych rad pracoval v Jave i na webu. Rozhodne by to znamenalo psani mene kodu a pro lidi zvykly delat se Swingem a s objekty obecne rychlejsi ucici krivku. Petr Martin Kuba wrote: > 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 > __________ Informace od NOD32 2618 (20071026) __________ Tato zprava byla proverena antivirovym systemem NOD32. http://www.nod32.cz
