我想用
<form action="someClass">
<s:textarea name="name" label="Name"/>
<s:checkboxlist list="{'Male','Female'}" name="gender" label="Gender"/>
</form>
而不是
<s:form action="someClass">
<s:textarea name="name" label="Name"/>
<s:checkboxlist list="{'Male','Female'}" name="gender" label="Gender"/>
</s:form>
由于<s:form>
标记的默认主题“xhtml"
不适合我的CSS和主题”简单“,因此无法使用fielderror
标记自行显示验证错误。
使用它有效吗?
到目前为止,我很喜欢这样使用。我将来会面临使用这样的错误吗?
答案 0 :(得分:4)
当然,您可以使用纯HTML标记。
请记住,所有JSP自定义标记最终都是渲染HTML。 [1]
正如罗马所说,你会丢失诸如自动填充值,通过属性名称或密钥检索标签,显示错误消息和样式等等。
您最好的行动方案可能是创建自己的主题并使用自己的模板和CSS,或使用"css_xhtml"
主题,并提供自己的样式。哪个更好取决于我们没有的大量信息,但CSS HTML版本相当灵活,除了必须将<br/>
标记定义为内联,因为它当前在主题中使用它不应该。
[1]是的,它可以在发送HTML之前在服务器端执行其他操作,例如SQL自定义标记。但是,一般而言,自定义标记的目的是发出HTML。
答案 1 :(得分:1)
您可以使用<form>
标记来处理表单,但它不是<s:form
标记,您必须手动维护它的属性。 <s:form
使用与框架完全通信的精美预设属性呈现<form>
标记。省略它缺少框架提供的一些功能,导致不正确的用法和错误。