JSF h:panelgrid - eine reihe mit zusätzlicher spalte

delta458

Mitglied
Wie Kann ich bei columns=1 eine Reihe mit 2 inputtexten initialisieren?

Also zb,

bei

Code:
<h:panelgrid columns="1">

kommt

Name: ....
Alter: ....
Wohnort/PLZ: .... .... (In dieser Zeile kommen 2 h:inputtext

Wie kann ich das realisieren? Also eine Ausnahme in der 3 Zeile machen, sodass man 2 Inputtexte einfügen kann.

Mfg
 
HTML:
<h:panel><h:inputText /><h:inputText /></h:panel>

Du musst die inputs wieder in ein Panel reintun, damit sie als ein Element gelten und deshalb nur eine column brauchen.
 
Eine weitere möglichkeit ist ein ganz ordinärer div tag:

[XML]
<div>
<h:inputText /><h:inputText />
</div>
[/XML]

Wird auch als elternelement und damit als "container" angesehen. Man muss da teilweise nur aufpassen, denn JSF bzw Facelets vertragen sich teilweise nicht mit reinem HTML/CSS.

Ich hatte dahingehend aber nur selten Probleme.

Ich finde ein
Code:
<div>
von der Lesbarkeit her nur schöner als ein
Code:
<h:panel>
. Das ist aber Geschmackssache.

LG
 
Oder als Mischung aus den letzen beiden genannten Möglichkeiten:

Code:
<h:panelGroup layout="block"/>
   <h:inputText ... /><h:inputText ... />
</panelGroup>

Hierbei wird auch ein div-Tag gerendert. Von reinem HTML in der JSF-Seite, wie F.S.WhiTeY es vorgeschlagen hat, würde ich dir abraten. Gründe dafür wurden ja schon angedeutet.
Die Variante von Willi2793 unterscheidet sich dahingehend von meiner, dass dort ein span-Tag gerendert wird und bei meiner Lösung ein div-Tag. Was du da genau haben willst, das kannst nur du beantworten.
 
Was du da genau haben willst, das kannst nur du beantworten.

Wenn du es dir beantwortest, immer schön auf die Semantik achten. Gewise Struckturen in HTML haben einen Sinn. Das ist für ein betriebliches Informationssystem zwar nicht wirklich entscheident, allerdings bei einer WWW-Anwendung um so mehr.

Gründe dafür sind: Barierefreiheit, SEO, Portierbarkeit usw.

LG
 
Oder als Mischung aus den letzen beiden genannten Möglichkeiten:

Code:
<h:panelGroup layout="block"/>
   <h:inputText ... /><h:inputText ... />
</panelGroup>

Hierbei wird auch ein div-Tag gerendert. Von reinem HTML in der JSF-Seite, wie F.S.WhiTeY es vorgeschlagen hat, würde ich dir abraten. Gründe dafür wurden ja schon angedeutet.
Die Variante von Willi2793 unterscheidet sich dahingehend von meiner, dass dort ein span-Tag gerendert wird und bei meiner Lösung ein div-Tag. Was du da genau haben willst, das kannst nur du beantworten.


danke hat funktioniert.
 

Zurück
Oben