grails

今天我在使用grails中的tag <g:link>遇到了一些问题,与大家分享下。

 

view gsp代码:

 

<g:each in="${sortInstanceList}" status="i" var="sortInstance">
	<tr class="${(i % 2) == 0 ? 'odd' : 'even'}">
		<td width="15" class="leftborder"></td>
		<td width="400" class="gap">
			${sortInstance?.sortname}
		</td>
		<td width="40" class="txtcenter">
			${sortInstance?.blogs.size()}
		</td>
		<td width="335" class="rightborder egap">
			<g:link action="delete" id="${sortInstance?.id}">删除</g:link>
		</td>
	</tr>
</g:each>
 

<g:link>中的action可以是show, edit 唯独不可以是delete(这些都是由grails命令自动生成的action),使用delete action会报错:

"The specified HTTP method is not allowed for the requested resource()." 结果在google一查发现是在对应的controller类

中的一行代码在作祟,如下:

写道
static allowedMethods = [save: "POST", update: "POST", delete: "POST"]
 

 

 

如果是使用<g:link> 并且action是这几个的话是要用GET方法的,所以在上面delete后添加 delete: "GET" 就行了

 

 

你可能感兴趣的:(Google,grails)