【问题标题】:Is there a Grails equivalent for the jsp form tags?jsp 表单标签是否有 Grails 等价物?
【发布时间】:2011-10-15 00:12:00
【问题描述】:

我有一个(目前)使用 JSP 作为视图技术的简单 Spring 3 MVC Web 应用程序。在我走得太远之前,我正在考虑在 Grails 中重写它。

我喜欢 Spring 的一件事是 spring-form.tld 标签库中提供的“表单”标签。给定具有“myProperty”属性的模型属性“myFormModel”,这使我可以编写如下内容:-

<form:form commandName="myFormModel">
    <form:input path="myProperty" cssErrorClass="error"/>

这里的关键是 form:input 标签会自动完成对命令对象中属性的所有绑定,因此(大致)在 HTML 中生成:-

<form>
    <input type="text" name="myProperty" value="xyz"/>

Spring MVC 会将表单参数绑定到类,并将对象传递给控制器​​。少出错。

(请原谅JSP和HTML,它是指示性的,可能有点不正确)

据我了解 GSP 表单标签:-

<g:form name="myForm" url="[controller:'myController', action:'foo']">
    <g:textField value="${myFormModel.myProperty}" class="${...blah to select error}"/>
  1. 我无法指定“路径”属性:我必须手动生成名称。当路径变得复杂时(例如列表中某个项目的属性),这可能会变得多毛且嘈杂。
  2. 我无法自动指定“正常”和“错误”CSS 类:我必须将 EL 放入 &lt;input&gt; 类属性中。乱七八糟!

我必须承认我很惊讶 GSP(我认为)落后于 Spring,我认为这一切都是为了让显而易见的事情变得简单,让困难的事情成为可能。易于阅读/实施的表单似乎很容易。

所以,我的问题:-

  1. 我错过了什么吗?
  2. 我应该(并且可以)在我的 GSP 中使用 spring-form.tld 吗?

这让我想知道我还会遇到什么其他问题......

【问题讨论】:

标签: grails gsp


【解决方案1】:

beanFields 插件完成了 Spring 表单标签所做的一切,甚至更多。它使处理表单尽可能简洁。

【讨论】:

    猜你喜欢
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 2021-03-29
    • 2011-01-16
    • 2020-09-20
    • 2011-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多