问题标签 [command-objects]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
validation - Grails 重复错误消息
我是 grails 的新手,我有一个问题:
我有这个 GSP 片段:
控制器 (MainController.groovy) 使用命令对象,这是两者的代码:
问题是,当我输入错误的名称或通过(空白或超出范围)时,它会显示 4 个错误,两个用于密码,两个用于用户名。它们相同,但重复。
我发现创建一个方法“bool validateCommand(){ name && password }”并将其替换为 command.validate() 不会引发重复,但我想使用 Grails 的约束功能来保持干燥。
知道为什么会这样吗?非常感谢!
grails - Grails 插件:获取所有命令对象类
在插件中,我需要遍历所有域和命令对象类,以对它们应用一些元魔法。获得域类不是问题,但是命令对象并不容易获得,因为它们似乎不被视为 Grails 人工制品。浏览文档后,我想出了以下代码:
这似乎可行,但它不包括在 webflow 操作中使用的命令对象。这是一个错误还是我的方法错误?
unit-testing - Grails:如何对注入服务的命令对象进行单元测试
我正在尝试测试一个具有数据绑定的 Command 对象的控制器。
命令对象有一个注入其中的服务。
但是当我尝试测试命令对象时,永远找不到注入的服务方法,因为它永远不会“注入”
有没有办法在命令对象中模拟服务?
测试方法
未找到 userService 的 getUser() 方法
代码
被调用的控制器的登录方法,
命令对象有一个“userService”注入其中。
验证器调用此 userService 来查找用户
userService.getUser() 看起来像这样。
grails - Grails:嵌套的命令对象
在我的 grails 应用程序中,我有一个外部命令对象,其中包含其他命令对象的列表:
相当不寻常的实例化innerCommands
是基于这个建议。但是,我发现如果我调用validate()
的实例OuterCommand
,验证似乎不会验证包含的InnerCommand
.
validate()
是否可以嵌套命令对象并在最外层对象上调用命令对象时验证整个命令对象图?
spring - 在 Grails 的命令对象中获取会话
如何从命令对象中获取会话?
我试过了:
这抛出
java.lang.IllegalStateException:未找到线程绑定请求:您是指实际 Web 请求之外的请求属性,还是在原始接收线程之外处理请求?如果您实际上是在 Web 请求中操作并且仍然收到此消息,则您的代码可能在 DispatcherServlet/DispatcherPortlet 之外运行:在这种情况下,请使用 RequestContextListener 或 RequestContextFilter 来公开当前请求。
inheritance - 如何在 grails 域子类中添加对继承属性的约束
这是我想做的:
所以类 A 应该有一些约束,而 B 应该对相同的属性有相同的附加约束。
我无法让它工作,我可以想象它会与每层次结构表的概念发生冲突。
因此,我尝试通过引入具有 B 类约束的 Command 对象来解决该问题,该约束可以在 B 类的构造函数中进行验证。但是,Command 对象似乎只能在控制器中使用(grails 一直说没有 .validate () 方法)。
所以我的问题是:使用 grails 约束解决这个问题的最优雅的方法是什么(不是手动重新实现验证)?可能...
- 切换到 Table-per-Sub-Class 概念?
- 以某种方式使命令对象在域类中工作?
- 还有什么办法吗?
编辑:我可以在子类中定义所有约束,重复父类的约束,甚至在父类中根本没有约束。但是该解决方案应该适用于同一父类的多个子类(具有不同的约束)。
unit-testing - Grails 1.3.5 控制器测试空命令对象
直接来自“Grails 权威指南(第二版)”的第 104 页:
运行此测试时,它会失败并显示:
...我追查到当时的“cmd”引用为空。在调用action controller.login 之前,cmd 有效并填充,之后为null。
如何测试命令对象?
spring-mvc - Spring @ModelAttribute 仅用于一种处理程序方法
是否可以让@ModelAttribute 方法只为特定的处理程序方法调用,并只为一个处理程序方法调用提供命令对象?不是针对特定控制器中的每个处理程序方法?我正在使用spring web-portlet MVC,但它应该是一样的......
因为对于一个控制器中的每个处理程序方法调用都会调用此 for 循环,并且为进入视图的每个请求提供了隐式模型
grails - 在 Grails 中使用命令对象进行更新
我读到服务用于跨多个域类的更新。但是,我有命令类,我想知道将进行事务更新的逻辑放入命令类是否有明显的缺点(或破坏 Grails 范式)。就像是:
在控制器中
data-binding - Grails 命令对象数据绑定
Grails对将请求参数绑定到域对象及其关联有很好的支持。这在很大程度上依赖于检测以数据库结尾的请求参数.id
并自动从数据库中加载这些参数。
但是,不清楚如何填充命令对象的关联。举个例子:
此对象具有与 的单端关联和ProductTypeCommand
与 的多端关联AttributeTypeCommand
。所有属性类型和产品类型的列表可从此接口的实现中获得
我使用这个界面来填充 GSP 中的产品和属性类型选择列表。我还将这个接口依赖注入到命令对象中,并用它来“模拟”命令对象attributeTypes
的productType
属性
实际发生的是attributeTypeIds
和productTypeId
属性绑定到相关的请求参数和getter/setter“模拟”productType
和attributeTypes
属性。有没有更简单的方法来填充命令对象的关联?