4

我想用

<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

2 回答 2

4

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

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

正如 Roman 所说,您将失去自动填充值、通过属性名称或键检索标签、显示错误消息和样式等内容。

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

[1] 是的,它可以在通过 HTML 发送之前在服务器端做其他事情,比如 SQL 自定义标签。不过,一般来说,自定义标签的目的是发出 HTML。

于 2013-04-08T18:07:18.060 回答
1

您可以使用<form>标签来处理表单,但它不是<s:form标签,您必须手动维护它的属性。使用与框架完全通信的良好属性预设<s:form呈现标签。<form>省略它缺少框架提供的一些功能,这些功能会导致错误的使用和错误。

于 2013-04-08T17:44:23.653 回答