Java 开发 2.0: 针对 Google App Engine 的 Gaelyk
2010-01-26 00:00:00 来源:WEB开发网在本例中,我希望获取通过 createticket.gtpl 页面提交的表单元素,并在系统中创建一个新罚单。通过使用 Entity 类,我不需要定义一个类似于 POJO 的对象来表示罚单(就像我在 “使用 Google App Engine” 中创建 Triathlon JDO 对象时所做的一样)。我可以采用 Groovy 的方式建立一个罚单模型,并毫不费力地保存它。
因此,我可以通过 Gaelyk 的 params 对象(Grails 也以某种形式提供了此对象)获取由表单提交的参数,并创建一个 Entity 实例,如清单 4 所示:
清单 4. 创建一个 Entity
def formatter = new SimpleDateFormat("MM/dd/yyyy")
def offensedate = formatter.parse("${params.of_month}/${params.of_day}/${params.of_year}")
def ticket = new Entity("ticket")
ticket.officer = params.officer
ticket.license = params.plate
ticket.issuseDate = offensedate
ticket.location = params.location
ticket.notes = params.notes
ticket.offense = params.offense
注意,ticket 变量是 Entity 的一个实例。"ticket" String 表示的就是这种实体。它可以非常便捷地搜索罚单。接下来,我将自动为与罚单相关的 Entity 实例分配属性值。现在,ticket.officer 表示通过 Web 页面表单提交的 officer 参数的值。由于该表单包含三个日期字段,我也使用 SimpleDateFormat 创建一个日期实例,并将该值设置为 issueDate。
至此,我已经创建一个用于表示罚单的对象。现在,我要做的就是使用以下代码保存它:
ticket.save()
现在,我已经持久化了一个罚单,我将把用户定向到一个可查看罚单的页面。这也非常简单。我只需要定向到 view-ticket Groovlet(以便处理):
更多精彩
赞助商链接