是否有一个Grails等效的jsp表单标签?

时间:2011-07-28 10:26:45

标签: grails gsp

我有一个(现在)简单的Spring 3 MVC web-app,使用JSP作为视图技术。我考虑在Grails之前重写它,然后才走得太远。

我喜欢Spring的一件事是spring-form.tld标签库中提供的“form”标签。给定具有“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放入<input>类属性中。乱了!
  3. 我必须承认,我感到惊讶的是GSP是我(我认为)背后的Spring,我认为这一切都是为了让明显的事情变得简单而且难以实现。易于阅读/实施的表格看起来很简单。

    所以,我的问题: -

    1. 我错过了什么吗?
    2. 我(并且可以)在我的GSP中使用spring-form.tld吗?
    3. 这让我想知道我会遇到什么其他问题......

1 个答案:

答案 0 :(得分:1)

beanFields插件可以完成Spring表单标记的所有功能。它使表单尽可能简洁。