如何在一个窗体中将多个Struts文本字段定位到4个独立块中? [英] How can I position multiple Struts textfields into 4 seperate blocks in one form?

查看:140
本文介绍了如何在一个窗体中将多个Struts文本字段定位到4个独立块中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Struts 2创建了一个Web应用程序。我有几个具有多个文本字段的表单。我想将textfields放置四个块,但有一些困难,因为struts标签不能识别div标签,所以我无法使用CSS定位。我理解我可以使用cssClass,但是放置每个Struts textfield标签似乎非常费力。

 < div id =updateMedicalInfoForm > 
< s:form action =editNewUser>
< img src =images / icaremark.jpgalt =>
< h1>旅行< br>随播< / h1>
< div id =spacer>< / div>
< div id =spacer2>< / div>

< div id =medInfoEdit>
< h2>医疗信息< / h2>
< s:textfield label =Doctor Namename =medicalInfo.doctorNamesize =20/>
< s:textfield label =PracticeNamename =medicalInfo.practiceNamesize =20/>
< s:textfield label =联系电话name =medicalInfo.practiceNumersize =20/>
< s:textfield label =Allergiesname =medicalInfo.allergiessize =20/>
< s:textfield label =Medication(s)name =medicalInfo.medicationssize =20/>
< / div>
< div id =surgeryAddressEdit>
< h2>手术地址< / h2>

< s:textfield label =名称/编号 name =medicalInfo.address.houseNamesize =20/>
< s:textfield label =地址行1name =medicalInfo.address.addressLine1size =20/>
< s:textfield label =地址行2name =medicalInfo.address.addressLine2size =20/>
< s:textfield label =Cityname =medicalInfo.address.Citysize =20/>
< s:textfield label =Postcodename =medicalInfo.address.postcodesize =20/>
< s:textfield label =Countryname =medicalInfo.address.countrysize =20/>
< / div>
< div id =emergencyContactEdit>
< h2>紧急联系人< / h2>

< s:textfield label =Titlename =medicalInfo.nextOfKin.titlesize =20/>
< s:textfield label =First Namename =medicalInfo.nextOfKin.fNamesize =20/>
< s:textfield label =Last Namename =medicalInfo.nextOfKin.lNamesize =20/>
< s:textfield label =联系电话name =medicalInfo.nextOfKin.contactNumsize =20/>
< s:textfield label =Emailname =medicalInfo.nextOfKin.emailsize =20/>
< s:textfield label =Relationshipname =medicalInfo.nextOfKin.relationshipsize =20/>
< / div>
< div id =emergencyContactAddressEdit>
< h2>紧急联系地址< / h2>

< s:textfield label =房子号码/名称name =medicalInfo.nextOfKin.address.houseNamesize =20/>
< s:textfield label =地址1name =medicalInfo.nextOfKin.address.addressLine1size =20/>
< s:textfield label =地址2name =medicalInfo.nextOfKin.address.addressLine2size =20/>
< s:textfield label =Cityname =medicalInfo.nextOfKin.address.Citysize =20/>
< s:textfield label =Postcodename =medicalInfo.nextOfKin.address.postcodesize =20/>
< s:submit name =updateid =redButtonvalue =%{getText('button.update')}/>
< / div>
< / s:form>

解决方案>

如果你使用默认的xhtml主题,表单标签也会发出表标记。不知道更多关于你的配置,我会说这是你当前的问题。



如果您使用simple



使用css_xhtml,然后你可以移动你想要的东西,但你会失去一些功能, 主题可能是一个更合适的解决方案,但是有几个陷阱,最值得注意的是需要使< br /> 标签元素在你的表单内部实际上不会中断,但这是微不足道的CSS。



如果你必须在整个网站这样做,你可能会考虑滚动您自己的主题。


I am creating a web app using Struts 2. I have several forms which have multiple textfields. I would like to position the textfields into four blocks but am having some difficulty as the struts tags do not recognize div tags and so I am unable to position with the use of CSS. I understand I can use cssClass but it seems very laborious to position each Struts textfield tag!

<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>

解决方案

If you're using the default "xhtml" theme then the form tags will also emit table markup. Without knowing more about your configuration, I'd say that's your current problem. All you'd need to do is add dividing table rows.

If you're using the "simple" theme then you can move things around however you want, but you'll lose some functionality, like automatic error message placement.

Using the "css_xhtml" theme may be a more appropriate solution, but there are a couple of "gotchas", the most notable being a need to make the <br/> tag element not actually break when inside your form, but that's trivial CSS.

If you have to do this throughout your site you'd likely want to consider rolling your own theme.

这篇关于如何在一个窗体中将多个Struts文本字段定位到4个独立块中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆