Mate pravdu ze backing bean muze slouzit pro vice komponent. Ale stale to znamena ze musite backing bean napsat.

Ve Swingu se nepouziva backing bean. Tam komponenty maji "model" tridu implicitne v sobe. Napr. text komponenty maji model reprezentovany tridou Document, ta uz ve Swingu je a vytvori se automaticky spolu s komponentou, ale pokud chcete muzete si dodat i Document svuj.
Rozhodne ale model neni sdileny vice komponentami, tak jako v JSF.

Petr

Josef Petrák - KYBERIE wrote:
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




Odpovedet emailem