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


Odpovedet emailem