2010-02-22 4 views
2

Pourquoi est-ce que lors de l'insertion d'un élément entre les s: textfield il est placé sur le dessus? Y at-il un moyen de résoudre ce problème? Merci de votre aide.éléments de formulaire Struts2

<s:textfield label="First Name" required="true"/> 
<s:textfield label="Last Name" required="true"/> 
<s:text name="testing1">test1</s:text> 
<s:textfield label="Address" required="false"/> 
<s:textfield label="Email" required="true"/> 
<s:text name="testing2">test2</s:text> 

ordre affiché sur le navigateur:

test1 
test2 
First Name 
Last Name 
Address 
Email 
+0

Ok, même si je mélange HTML régulier comme ajouter une division entre s: composants textfield ils sont placés toujours sur le dessus. Que faire si je veux regrouper plusieurs sections de la forme en ajoutant un peu comme

.... en HTML? Sera-t-il possible? – Marquinio

+0

Quel thème utilisez-vous? – Trick

+0

Utilisez-vous que dans un ? Si oui, essayez de le mettre sous une forme régulière, car le a fait des choses étranges pour moi aussi. – Akku

Répondre

1

Je suppose que ma réponse à cette question est trop tard, mais je réponds à ce juste pour le dossier.

La raison pour laquelle les éléments de texte ne semblent pas entre parce que des entretoises rend une table pour afficher vos champs d'entrée (et leurs étiquettes). Si vous regardez le HTML rendu par struts, vous verrez une étiquette pour chaque champ de texte. Si vous insérez un autre composant entre ces éléments, struts ne saura pas comment les mettre en forme dans la table du formulaire, ce qui entraînera l'affichage des éléments avant le début de la table. Pour éviter ce comportement, vous pouvez définir l'attribut "theme" du formulaire sur "simple". Cela se traduira par le fait que vous aurez besoin de faire tout le formatage par vous-même.

Espérons que cela aide.