# <jsp:setProperty..../> oder <c:set..../>?



## EOB (11. Sep 2006)

hi, wenn ich eine javabean habe, die zb so aussieht:


```
package pojos;

public class ObjectTester {

	public int prop1 = 5;

	public String prop2 = "hallo welt";

	public int[] prop3 = { 1, 2, 3, 4 };

	public int getProp1() {
		return prop1;
	}

	public void setProp1(int prop1) {
		this.prop1 = prop1;
	}

	public String getProp2() {
		return prop2;
	}

	public void setProp2(String prop2) {
		this.prop2 = prop2;
	}
}
```

dann kann ich ja mittels


```
<jsp:useBean id="myBean" class="pojos.ObjectTester">
       <jsp:setProperty name="myBean" property="*"/>
</jsp:useBean>
prop1: <jsp:getProperty name="myBean" property="prop1" />

prop2: <jsp:getProperty name="myBean" property="prop2" />
```

die properties setzen und auch wieder ausgeben. wie sieht das aber jetzt mit c:set aus?

hier mein versuch:


```
<c:set target='${pojos.ObjectTester}' property='prop2' value='irgendwasfdlfhdfhsdfk' />
```

geht aber nicht. wie genau muss ich das machen? das target muss doch die bean sein, oder? wie lass ich mir das dann wieder anzeigen? mit cut?

danke


----------



## SlaterB (12. Sep 2006)

was machst du, wenn du zwei Beans von der gleichen Klasse hast?
oder wie soll bei nur einem Bean dieses gefunden werden?
offensichtlich ist doch der Ort des Beans viel wichtiger als deren Klasse,

ich kann im Moment nicht testen, aber 
<c:set target="${myBean}" property="prop2" value="irgendwasfdlfhdfhsdfk" /> 
sieht besser aus, vielleicht sogar target="${requestScope.myBean}"

ein Objekt erzeugen kann man damit wohl kaum, 

-------

die Ausgabe ist zunächst mal ${myBean.prop2}, ein cut kann da gerne noch drumherum

--------

Generell solltest du dir überlegen, ob du die Beans da richtig einsetzt.
Ich musste noch nie irgendwo in einem Bean ein Feld setzen, 
das mit dem Target auch erst nachschlagen (beim Autocompleter).

Bean sollten in einem Servlet vor der JSP erzeugt und deren Werte gesetzt werden.
JSPs zeigen nur Informationen an, allein die Anzeigelogik (Wiederholung, Schleifen) 
und der Zusammenbau von neuen Links ist ein bisschen komplizierter, 
aber doch nix wozu man Beans braucht?


----------



## EOB (13. Sep 2006)

hi, hast recht :toll: . aus ner jsp was setzen ist nicht die feine englische. dann haette sich meine frageauch erledigt, denn aus nem servlet raus ists ja denkbar einfach..einfach eine instanz anlegen und die setter  aufrufen. hmmm...ich denke das ist damit beantwortet. 

allerdings frage ich mich, warum es dann solche moeglichkeiten ueberhaupt gibt? klar, fuer webdesigner, die kein java koennen, aber sollten die denn was setzen koennen?  ???:L 

gruesse


----------

