gpt4 book ai didi

java - 渲染 Play framework 2.0.2 模板的一部分

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:21:15 24 4
gpt4 key购买 nike

我是 Play 的新手(老实说,也是 MVC 的新手)。我遇到了一些看起来不应该那么难的问题。

我刚找到这个同名帖子:Rendering a portion of a Play framework 2.0 template

但我似乎无法让它工作。

我有一个模板(索引),其中包含另一个模板(行),我想在单击按钮时呈现该模板。这是我的索引模板中的表单:

@form(routes.Application.getNextRows()) {<input type="submit" value="Next Rows!">}

这是 getNextRows:

public static Result getNextRows() {
return ok(views.html.tags.rows.render(rowsIterator.next()));
}

这就是我认为我遇到问题的地方,但我不知道我应该如何进行调用,或者我应该返回什么(没有得到一些 NullPointerException)。

这是需要重新渲染的部分(在索引中):

<table cellspacing="0"  style="table-layout:fixed"  border="2">
<col width="50%">
<col width="45%">
<col width="5%">
@tags.rows(rowsIterator.first())
</table>

所以当我点击按钮时,我需要传入一个新的行元素,而不是“rowsIterator.first()”大概我做错了什么,或者错过了一些明显的电话来解决这个问题。

感谢您的帮助(如果很明显我遗漏了一些更大的概念,请随时指导我)。


查看 Zentasks 示例,我看到这样的代码,它似乎使页面的一部分重新加载。知道这是如何工作的吗?

<a class="name" href="#@routes.Tasks.index(project.id)">@project.name</a>

最佳答案

很抱歉没有为您提供完整的解决方案,但恕我直言,您应该先深入了解一下基础知识。

您的操作方法返回整个页面,而不仅仅是页面的一部分,因为它是完整的 HTTP 响应。这意味着无论您在该操作中调用什么,您的浏览器都会呈现什么。 getNextRows 需要一个参数来查找下一行。要仅更改页面的一部分,您需要 AJAX。

单击按钮应使用下一组行重新呈现索引页面。将 rows 作为参数添加到索引模板。使用这些行调用您的行模板。

关于java - 渲染 Play framework 2.0.2 模板的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12113192/

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