gpt4 book ai didi

grails - 渲染 View 后对象列表消失

转载 作者:行者123 更新时间:2023-12-02 16:00:14 24 4
gpt4 key购买 nike

亲爱的grails专家

我正在将出版物列表发送到我的gsp View 页面。我可以很好地看到该列表,但是在将一个出版物添加到书籍列表中并呈现了出版物gsp View 页面之后,出版物列表不被视为出版物列表,而被视为字符串。因此,当我尝试获取每本出版物时,都会给我带来麻烦。

我正在使用grails 2.2.0的版本。

在这里,我在 Controller 条目中发送出版物:

def books{
def unit = Unit.get(params.id)
def period = Period.get(params.periodId)
def publications = []
if (unit) {
def units = unit.downHierarchy().id
units.removeAll { null }
publications = Publication.publicationsOfUnits(units)?.listDistinct()?.findAll{it.date.getAt(Calendar.YEAR) == period.year}?.sort{ it.date }
}
[publications : publications, id: unit.id, unitId: unit.id, periodId: period.id]
}

这是我的查看页面:
    <table>
<g:each in="${publications}" var="p">
<g:if test="${p instanceof publicationBook}">
<tr>
<td>${p.authors.join(",")}</td>
<td>${p.title}</td>
<td>
<a href="#" onclick="$('#author').val('${p.authors.join(',')}');$('#titleAndSubtitle').val('${p.title}');$('#unitId').val('${unitId}');$('#periodId').val('${periodId}');$('#id').val('${unitId}');bookForm.submit();">Add to Books</a>
</td>
</tr>
</g:if>
</g:each>
</g:table>

在这里,我将出版物添加到书籍中:
def saveBook = {
saveEntry("book", new Book())
render(view:"books", model: params)
}

这是本书表格,我将出版物 list 再次发送给 Controller 进行渲染:
<g:form name="bookForm" controller="entries" action="saveBook" class="default" method="post">
<g:hiddenField name="entryId" value="${entry?.id}"/>
<g:hiddenField name="unitId" value="${unitId}"/>
<g:hiddenField name="periodId" value="${periodId}"/>
<g:hiddenField name="publications" value="${publications}"/>
<div class="buttons">
<button class="button icon icon_arrow_right leave_empty" onclick="$('#leaveEmpty').val('true');bookForm.submit();"
</div>
</g:form>

我非常感谢您提供任何建议或帮助解决该问题。

最佳答案

您没有在此处传递正确的模型render(view:"books", model: params)

就像在redirect(action:"books", id: id)操作中所做的那样,要么使用publications,要么用books列表等填充模型。

关于grails - 渲染 View 后对象列表消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32070875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com