标签: grails-controller

子类对象无法删除

我有一些域类事件,问题,类别,影响,紧急等.

Class Incident
{
   Category category
   String subject
   Impact impact
}

Class Problem
{
     Urgency urgency
     Category category
     String title
}
Class Category
{
    String categoryName
    String description
}
Run Code Online (Sandbox Code Playgroud)

现在,一些行被插入到这个类中.现在,如果我删除类别,它会抛出错误,如'grails无法删除或更新父行'..所以我必须做什么删除?

grails grails-orm grails-controller grails-domain-class

3
推荐指数
1
解决办法
1319
查看次数

Grails g:包括可以吗?

我想知道是否可以使用g:include来仅包含给定页面的正文内容.

假设我有一个主要布局页面如下:

<html>
  <head>
    <title>My start page</title>
    <g:layoutHead>
  </head>
  <body>
    <g:layoutBody>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

然后是主页面(index.gsp)

<html>
  <head>
    <!-- main layout reference -->
    <meta name="layout" content="main"/>
  </head>
  <body>
    THIS IS MY INDEX BODY CONTENT WITH AN INCLUDE
    <g:include controller="book" action="list"/>
    <g:link controller="book" action="list">See the full list!</g:link>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

最后是书/列表页面

<html>
  <head>
    <!-- main layout reference -->
    <meta name="layout" content="main"/>
  </head>
  <body>
    <table>
    <g:each in="${books}">
      <tr>
        <td>${it.author}</td>
        <td>${it.title}</td>
        <td>${it.price}</td>
      </tr>
    </g:each>
    </table>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

所以我想要实现的是主页面(index.gsp)只包括book/list页面中定义的表.但是,当我尝试这个时,它包括整个html定义(<html>标签和所有).

有可能以某种方式这样做吗?我尝试过这样的事情<g:include controller="book" action="list" view="someView.gsp"/>然而这不起作用.我真的想避免向"索引控制器"添加图书清单逻辑,我想重用我现有的控制器. …

grails grails-controller

2
推荐指数
1
解决办法
4502
查看次数

Grails:动态调用另一个动作

是否可以使用作为参数传递的controller-action名称调用另一个controller-action.像这样的东西:

视图:

<g:createLink controller="book" action="list"
params="[id: '1', onCompleteController='nextCon', onCompleteAction='nextAct']"/>
Run Code Online (Sandbox Code Playgroud)

控制器(书):

def list = {
   ... //Do something like save book

   **execute onCompleteController/onCompleteAction**

   return render(text: [success:true] as JSON))

}
Run Code Online (Sandbox Code Playgroud)

grails grails-controller

2
推荐指数
1
解决办法
4104
查看次数

Grails数据绑定 - 带有列表的命令对象

Grails 1.3.7

数据绑定问题具有List内容的Command对象.示例命令:

class Tracker {
    String name
    String description
    List<Unit> units = new ArrayList()
}

class Unit {
    String name
    Long unitMax
    Long unitMin
}
Run Code Online (Sandbox Code Playgroud)

为Tracker创建GSP具有单位字段.一个例子:

<g:textField name="units[0].unitMax" value=""/>
Run Code Online (Sandbox Code Playgroud)

TrackerController保存方法:

 def save = { Tracker trackerInstance ->
   trackerInstance = trackingService.saveOrUpdateTracker(trackerInstance)
 }
Run Code Online (Sandbox Code Playgroud)

但是,始终是java.lang.IndexOutOfBoundsException

或者,如果我将控制器更新为:

def save = {
   Tracker trackerInstance = new Tracker()
   trackerInstance.properties = params
   ....
Run Code Online (Sandbox Code Playgroud)

然后groovy.lang.ReadOnlyPropertyException:无法设置readonly属性:class的属性:com.redbrickhealth.dto.Tracker任何想法?

GORM与Command对象之间的绑定似乎有区别.

也许我需要为Unit扩展并注册PropertyEditorSupport?

-Todd

grails grails-controller

2
推荐指数
1
解决办法
6535
查看次数

Grails REST CRUD控制器方法

我是Grails的新手,虽然我在使用不同语言的其他mvc框架(Perl,Python,Ruby)开发Web应用程序方面有很多经验.

我试图了解CRUD在grails中的含义.

基本上Grails默认为create函数创建以下两种方法:

create,用于显示创建保存的表单,用于保存已发布的表单

现在来自不同的框架,我习惯只有一个创建方法:

如果请求方法是GET,这个函数将显示表单,如果请求方法是POST,则保存表单,这似乎是大多数框架的首选方式?!?!?

为什么Grails会采用完全不同的方法来实现此功能?我知道我可以手动改变它,但这样做有什么意义呢?我将放松什么,我将获得什么.

我知道这不是一个非常具体的问题,我肯定不想开始一场火焰战,但我想明白为什么选择另一种方式......

在此先感谢您的ansers.

grails grails-controller

2
推荐指数
1
解决办法
5566
查看次数

如何将值从控制器传递到gsp页面

我想传递i的值来创建.gsp页面,如何做到这一点

def save = {
    def billingPeriodInstance = new BillingPeriod(params)
    DatabaseImpController obj= new DatabaseImpController()

   int i = obj.setbillPeriod()

   if(i== 1){
        render(view: "create")
   }
}
Run Code Online (Sandbox Code Playgroud)

grails grails-controller

1
推荐指数
1
解决办法
1608
查看次数

在'服务'中插入'控制器'方法

我有一个管理我的上传者的课程.它利用了插件文件上传器,并补充了我的应用程序的其他信息和规则.

我正在尝试创建一个管理应用程序某些行为的服务,并注意到"服务"无法识别控制器中使用的某些方法.例如,方法"重定向"仅适用于控制器,并且在服务中无法识别.

在我的一项服务中,我将转发类型为"文件"的文件作为参数提供给服务,但将"文件"属性设置为"原始文件名",大小等在"服务"中无法识别.有人可以告诉我如何从"文件"中获取这些属性,并将这些方法作为"重定向"在"服务"中识别?

grails grails-controller grails-2.0

1
推荐指数
1
解决办法
130
查看次数

使用<g:select> grails

我使用a来显示个人资料名称列表.

<g:select name="ProfileSelector" from='${ProfileList?.profileName}' id='ProfileSelect' noSelection="['null':' SELECT VT']" disabled="true" />
Run Code Online (Sandbox Code Playgroud)

因此,配置文件列表是具有profilename,profileid,profileDescription的配置文件的类型.在提交时,我只能访问在控制器中选择为param的profileName.是否有任何方法可以将相应profileName的profileId作为param传递.

grails gsp grails-controller grails-2.0

0
推荐指数
1
解决办法
4360
查看次数

Grails - 如何在进行控制器测试时在Controller中实例化服务

我在控制器中使用服务.我正在为控制器编写单元测试,但我无法在控制器中实例化服务.它始终是null.

如果我new在Controller测试类中使用operator 实例化服务.服务类中的服务未实例化.

如何在测试类中实例化服务?

grails grails-controller

0
推荐指数
1
解决办法
682
查看次数