# Struts 2 nebeneinanderliegende Textfelder



## 7bkahnt (11. Mai 2010)

Grüsst euch,

ich habe ein für euch wahrscheinlich einfaches Problem.
Ich kann schlicht und einfach keine 2 Textfelder nebeneinander lokalisieren.

Als Beispiel die index.jsp:


```
<body>
  <s:form>
        <s:textfield name="vorname"/>
        <s:textfield name="nachname"/>
</s:form>
</body>
```

Diese befinden sich anstatt nebeneinander untereinander.
Ich hatte mal in den Quellcode geschaut, den Struts dann erzeugt.
Es wird mit jedem <s:.... > eine neue Zeile in einer Tabelle erzeugt. Also liegt da mein Problem, nur weiß ich leider nicht wie ich es umgehen kann.
Da ich bisher recht wenig mit CSS zu tun hatte, wäre ich euch sehr dankbar, wenn ihr mal ein passendes Beispiel hättet, wie ich solche Geschichten nebeneinander bekomme.

grüsse


----------



## stareagle (11. Mai 2010)

Moin,



> Diese befinden sich anstatt nebeneinander untereinander.
> Ich hatte mal in den Quellcode geschaut, den Struts dann erzeugt.
> Es wird mit jedem <s:.... > eine neue Zeile in einer Tabelle erzeugt. Also liegt da mein Problem, nur weiß ich leider nicht



Struts 2 hat verschiedene eingebaute Themes, die du in der struts.properties auswählen kannst. Als Default wird das XHTML-Theme verwendet. Wenn du das Design selbst machen möchtest, kannst du entweder das css_xhtml-Theme oder das Simple-HTML-Theme verwenden. Erstes entspricht dem Default-Theme, verwendet aber CSS statt Tabellen, das Simple-Theme macht im Prinzip nicht viel, bietet aber eine gute und saubere Grundlage, um ein eigenes Design zu erstellen.

Ein wenig mehr dazu ist hier zu finden: Themes and Templates

Gruß

Stareagle


----------



## 7bkahnt (12. Mai 2010)

Hat jemand eventuell mal ein Beispiel, wie ich das mit Simple Theme o.ä. lösen könnte, 2 Textfelder nebeneinander zu positionieren?
Die Doku kann man ja in diesem Punkt vergessen. Da steht noch nicht mal drin, wie ich das Simple Theme in der properties-Datei einbinde. Ich vermute mal mit 
struts.ui.theme=simpletheme 
,aber wie das dann genau weiter funktioniert habe ich noch nichts gefunden.


----------



## stareagle (14. Mai 2010)

Bei der Verwendung des simple-Themes bekommst du nackten HTML-Code, dessen Darstellung du mit einem eigenen CSS nach belieben anpassen kannst. Das xhtml_css Theme sollte in etwa die gleiche Formatierung wie das Standard-Theme erzeugen, nur ohne Tabellen und ohne CSS.

Beim simple-Theme sollten die Formularfelder schon nebeneinander liegen (beachte, dass du die Labels für die Formular-Element beim Simple-Theme, explizit erzeugen musst).

Ansonsten musst du dich mit CSS beschäftigen. Nebeneinander liegende Block-Elemente kann man entweder über absolute Positionierung (meistens unschön) oder besser über die float-Eigenschaft erreichen. 

Gruß

Stareagle


----------



## sanschezzz (14. Mai 2010)

css hört sich gut an.

ein bisschen mit float experimentieren!


----------

