То, что я пытаюсь достичь, это позволить пользователю проверить некоторые флажки, после чего я сделаю некоторые действия над отмеченными элементами. Я получаю ошибку ниже в коде ниже контроллера:ошибка цикла в Grails
Здесь ошибка, это жалуются на строку, содержащую каждый:
java.lang.NullPointerException: Cannot execute null+null
контроллер:
def activateSubscriptions (SubscriptionRequest subscriptionRequestInstance) {
def temp
println ("Params : $params.subscriptionRequestInstanceCheckBox , Count: $subscriptionRequestInstance.count()")
params['subscriptionRequestInstanceCheckBox'].each {
temp =new Subscriptions(userId:subscriptionRequestInstance.userId,packageId:subscriptionRequestInstance.packageId,dasubscriptionRequestInstanceOfPackExp:subscriptionRequestInstance.dateCreated+30,balanceOfAds:Packages.get(subscriptionRequestInstance.packageId).numOfAds,
balanceOfMsgs:Packages.get(subscriptionRequestInstance.packageId).numOfMsgs,balanceOfHR:Packages.get(subscriptionRequestInstance.packageId).numOfHR,balanceOfPages:Packages.get(subscriptionRequestInstance.packageId).numOfPages).save(flush:true)
SubscriptionRequest.get(subscriptionRequestInstance.id).delete(flush:true)
}
}
здесь является ВСП:
<g:each in="${subscriptionRequestInstanceList}" status="i" var="subscriptionRequestInstance">
<tr class="${(i % 2) == 0 ? 'even' : 'odd'}">
<td>
<g:checkBox checked="false" name='subscriptionRequestInstanceCheckBox' value="${subscriptionRequestInstance.id}"/>
<g:link action="show" id="${subscriptionRequestInstance.id}">${fieldValue(bean: subscriptionRequestInstance, field: "userId")}</g:link>
</td>
<td>${fieldValue(bean: subscriptionRequestInstance, field: "packageId")}</td>
<td><g:formatDate date="${subscriptionRequestInstance.dateCreated}" /></td>
</tr>
</g:each>
Хотя значениями от println
являются:
Params : [1, 2] , Count: 2
Любые идеи?
Вряд ли проблема возникает в строке, вызывающей 'each()'. Попробуйте комментировать/раскомментировать строки в цикле, пока не найдете реальную оскорбительную линию. Моя ставка находится на линии LOOOOONG, создавая «Подписки». –