我有这个表格。
<s:form action="register">
<s:textfield class = "formfield" name="userBean.username" label="User Name" />
<s:textfield class = "formfield" name="userBean.password" label="Password" />
<s:textfield class = "formfield" name="profileBean.firstName" label ="First Name"/>
<s:textfield class = "formfield" name="profileBean.lastName" label="Last Name" />
<s:textfield class = "formfield" name="profileBean.Age" label="Age" />
<s:submit/>
</s:form>
我想要做的是通过css提供自定义样式,但问题是它没有被应用,这是什么解决方案?我们的设计师会使用css为我们的表单设置样式但是,如果我们在struts标签中使用它们的形式,则无法应用样式
我们的目标是将其样式设置为与输入标记的样式相似
答案 0 :(得分:3)
我认为你应该使用属性cssClass
e.g。 <s:textfield cssClass = "formfield" name="userBean.username" label="User Name" />
答案 1 :(得分:2)
正如在另一个答案中所说,您必须使用cssClass
class
和cssStyle
而不是style
。
如果您注意到Struts2组件的行为与标准HTML组件不同,则归结为Struts2 Themes and Templates。
默认主题是XHTML;
例如,
当您在label
标记上设置<s:textfield/>
属性时,它会在<label/>
标记之前创建html <input="text"/>
元素。
如果您不希望这样,可以在theme="simple"
或<s:textfield/>
中指定<s:form/>
,将该设置应用于所有包含的元素。