grails 自定义可以手工输入值的主键

domain 部分

.
.
.
class Part {
String id
String name
static transients = ['coding']

void setCoding(String coding)
{
id = coding
}

String getCoding(){
return id
}
static mapping={
version false
id generator: 'assigned' //,column:'part_id'
}
.
.
.


对应的 views 部分

.
.
.

<g:form action="save" >
<div class="dialog">
<table>
<tbody>
<tr class="prop">
<td valign="top" class="name">
<label for="id"><g:message code="part.id.label" default="Id" /></label>
</td>
<td valign="top" class="value ${hasErrors(bean: partInstance, field: 'id', 'errors')}">
<g:textField name="id" maxlength="20" value="${partInstance?.id}" />
</td>
</tr>

<tr class="prop">
<td valign="top" class="name">
<label for="name"><g:message code="part.name.label" default="Name" /></label>
</td>
<td valign="top" class="value ${hasErrors(bean: partInstance, field: 'name', 'errors')}">
<g:textField name="name" maxlength="40" value="${partInstance?.name}" />
</td>
</tr>

.
.
.

并在 对应的 Controller的 save 中加入 partInstance.setCoding(params.id)

def save = {
def partInstance = new Part(params)
partInstance.setCoding(params.id)
if (partInstance.save(flush: true)) {

.
.
.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值