値がビューに表示されている場合、または以前の値を保持している場合は、フィールドを更新する

StackOverflow https://stackoverflow.com//questions/11697156

  •  13-12-2019
  •  | 
  •  

質問

私は杯とGroovy Newbieです。 フィールドの値が「編集」ビューで提供されている場合、ドメインクラスのフィールドを更新しようとしています。

マイドメインクラスは次のようになります。 クラスCertificateInfo {

static auditable = [ignore:['dateCreated','lastUpdated','account']]

String entityId
String certificate

String status
Timestamp dateCreated
Timestamp lastUpdated

Account account

CertificateInfo(){
    status = "ACTIVE"
}


static belongsTo = [account: Account]
//Db mappings not included
static constraints = {
    entityId size: 1..300, blank: false, unique: true
    certificate size: 1..4000, blank:false
    status in:['ACTIVE','INACTIVE'], blank: false
}
}
.

私の編集フォームでは、関連フィールドは次のとおりです。

<td>
<input type="file" name="certificate" value="${CertificateInfo ?.certificate}"/>
</td>
.

ここでやりたいことは次のとおりです。 a)新しいファイルが表示されている場合は、ボタンをクリックして、このファイルは証明書として受け入れられます。この部分が機能し、新しいファイルは証明書を更新するために使用されます b)新しいファイルが提供されていない場合は、古い値を保持するだけです。この部分はそれに近づく方法がわからないので機能しません。

私はあらゆる提案に喜んでいます。

ありがとう!

役に立ちましたか?

解決

これは、ユーザガイド - http://grails.org/DOC /最新/ガイド/ THEWBLAYER.HTML#アップロードファイル

最初の例を使用して、

のようなことをするでしょう
 def f = request.getFile('certificate')
    if (f.empty) {
        // do nothing
    } else {
        f.transferTo(new File('/some/local/dir/myfile.txt'))
        // modify your object here and save.
        mycertificate.certificate = 'myfile.txt'  
    }
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top