Grails command databinding - alternativa 1
Las siguientes alternativas no se muestran como una solución al problema, sino como diferentes propuestas que ayudan a entender mejor cómo construir vistas a través de command objects
Se desea mapear los valores de una vista con N paneles, la lógica de validaciones de la vista no se desea en el domain class porque no es el lugar indicado para validar la lógica de los paneles.
Domain class:
class Params {
  
  // LAS MISMAS PROPIEDADES QUE EL COMMAND OBJECT.
  
  // Constraints para la bd
  static constraints = {
  }
  
}
Command object:
class ParamsCommand {
  
  String panelType
  // PANEL CONEKTA
  String sandboxPrivateKey
  String sandboxPublicKey
  // ...
  
  // PANEL GENERAL
  String emailContacto
  // ...
  
  // PANEL FINANZAS
  BigDecimal costoPunto
  // ...
  
}
Crear un command que contenga las propiedades de todos los paneles en la vista, cada panel estará dentro de un form distinto.
El problema de la alternativa:
ParamsCommand contiene todas las propiedades de todos los paneles de la vista, sin embargo como solo se enviará la información de 1 solo panel, al hacer submit solo se tendrá en el command object los valores del form al que se hace submit. Cuando se envíe de vuelta el command object a la vista, se perderán los valores de los forms a los que no se hizo submit.