2013-04-08 88 views
4

我想用使用html表单标签而不是Struts 2 s:form标签是否有效?

<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标签 那么它是否有效使用它? 直到现在我可以使用那样的使用方式。我将在未来使用那样的任何错误?

回答

4

当然,您可以使用纯HTML标签。

请记住,所有JSP自定义标记最终都会呈现HTML。 [1]

正如罗曼那样,你将失去自动填充值,通过属性名或键检索标签,显示错误消息和样式等等。

您的最佳行动方案可能是创建自己的主题并使用自己的模板和CSS,或使用"css_xhtml"主题,并提供自己的样式。哪个更好取决于我们没有的大量信息,但CSS HTML版本相当灵活,除了必须将<br/>标签定义为内联标签以外,因为它目前用于不应该是主题的主题。

[1]是的,它可以在通过HTML发送之前在服务器端执行其他操作,比如SQL定制标记。一般来说,自定义标签的目的是发布HTML。

1

您可以使用<form>标记来处理表单,但它不是<s:form标记,您必须手动维护它的属性。 <s:form呈现<form>标记,其中包含与框架完全通信的属性的预设值。省略它缺乏框架提供的一些功能,导致不正确的用法和错误。