【问题标题】:Is it valid to use html form tag instead of Struts 2 s:form tag?使用 html form 标签代替 Struts 2 s:form 标签是否有效?
【发布时间】:2013-03-30 20:06:06
【问题描述】:

我想用

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

因为&lt;s:form&gt; 标签的默认主题“xhtml" 不适用于我的 CSS,并且如果不使用 fielderror 标签,主题“simple”本身无法显示验证错误。 那么使用它是否有效? 直到现在我都可以这样使用。以后这样使用会有什么错误吗?

【问题讨论】:

    标签: java forms jsp jakarta-ee struts2


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      当然你可以使用纯 HTML 标签。

      请记住,所有的 JSP 自定义标签最终都是渲染 HTML。[1]

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-27
        • 2013-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多