0

Struts 2 を使用して Web アプリを作成しています。複数のテキスト フィールドを持つフォームがいくつかあります。テキストフィールドを 4 つのブロックに配置したいのですが、struts タグが div タグを認識しないため、CSS を使用して配置できないため、問題が発生しています。cssClass を使用できることは理解していますが、各 Struts テキストフィールド タグを配置するのは非常に面倒です。

<div id="updateMedicalInfoForm">        
  <s:form action="editNewUser">
    <img src="images/icaremark.jpg" alt="">
    <h1>Travel <br>Companion</h1>
    <div id="spacer"></div>
    <div id="spacer2"></div>

    <div id="medInfoEdit">
    <h2>Medical Information</h2>
    <s:textfield label="Doctor Name"  name="medicalInfo.doctorName" size="20" />
    <s:textfield label="PracticeName"  name="medicalInfo.practiceName" size="20"/>
    <s:textfield label="Contact Number"  name="medicalInfo.practiceNumer" size="20"/>
    <s:textfield label="Allergies"  name="medicalInfo.allergies" size="20"/>
    <s:textfield label="Medication(s)"  name="medicalInfo.medications" size="20"/>
    </div>
    <div id="surgeryAddressEdit">
    <h2>Surgery Address</h2>

    <s:textfield label="Name / No." name="medicalInfo.address.houseName" size="20" />
    <s:textfield label="Address line 1" name="medicalInfo.address.addressLine1" size="20"/>
    <s:textfield label="Address line 2" name="medicalInfo.address.addressLine2" size="20"/>
    <s:textfield label="City" name="medicalInfo.address.City" size="20"/>
    <s:textfield label="Postcode" name="medicalInfo.address.postcode" size="20"/>
    <s:textfield label="Country" name="medicalInfo.address.country"  size="20"/>
    </div>
    <div id="emergencyContactEdit">
    <h2>Emergency Contact</h2>

    <s:textfield label="Title" name="medicalInfo.nextOfKin.title" size="20" />
    <s:textfield label="First Name" name="medicalInfo.nextOfKin.fName" size="20"/>
    <s:textfield label="Last Name" name="medicalInfo.nextOfKin.lName" size="20"/>
    <s:textfield label="Contact Number" name="medicalInfo.nextOfKin.contactNum" size="20"/>
    <s:textfield label="Email" name="medicalInfo.nextOfKin.email" size="20"/>
    <s:textfield label="Relationship" name="medicalInfo.nextOfKin.relationship" size="20"/>
    </div>
    <div id="emergencyContactAddressEdit">
    <h2>Emergency Contact Address</h2>

    <s:textfield label="House Number / Name" name="medicalInfo.nextOfKin.address.houseName" size="20" />
    <s:textfield label="Address 1" name="medicalInfo.nextOfKin.address.addressLine1" size="20"/>
    <s:textfield label="Address 2" name="medicalInfo.nextOfKin.address.addressLine2" size="20"/>
    <s:textfield label="City" name="medicalInfo.nextOfKin.address.City" size="20"/>
    <s:textfield label="Postcode" name="medicalInfo.nextOfKin.address.postcode" size="20"/>
    <s:submit name="update" id="redButton" value="%{getText('button.update')}"/>
    </div>
</s:form>

4

1 に答える 1

2

デフォルトの"xhtml"テーマを使用している場合、フォーム タグもテーブル マークアップを出力します。あなたの構成について詳しく知らなくても、それがあなたの現在の問題だと思います。分割表の行を追加するだけです。

テーマを使用している場合は"simple"、好きなように移動できますが、エラー メッセージの自動配置などの一部の機能が失われます。

テーマを使用"css_xhtml"する方がより適切な解決策かもしれませんが、いくつかの「落とし穴」があります。最も顕著なのは、<br/>タグ要素がフォーム内で実際に壊れないようにする必要があることですが、それは些細な CSS です。

サイト全体でこれを行う必要がある場合は、独自のテーマを展開することを検討してください。

于 2013-03-19T16:26:31.167 に答える