java - [t5.2.6]在循环内生成区域,然后更新其中的一些区域

标签 java ajax tapestry

我已经尝试这样做有一段时间了,但没有任何效果。我搜索了这个列表,但仍然无法弄清楚!

这是我的案例,我使用页面激活上下文中提供的维度绘制一个表格。所以我无法预测我可能有多少行或列。 列中的每个标题都有一个选择字段,最左侧单元格的每一行也有一个选择字段。 每个选择字段都应更新整行或整列,具体取决于哪个选择字段的值已更改。

这里是我的页面 tml 文件的一部分,用于详细说明。这 ”???”只是不是我需要选择更新区域,但我只是不知道要放在这里!

<t:form>
    <div style="overflow: auto;">
        <table class="contentpane skyTable" width="100%" cellspacing="0" cellpadding="0" border="0" align="center">
            <tr>
                <td bgcolor="lightgray"/>
                <td t:type="loop" t:source="1 .. width" t:value="widthIndex">
                    ${widthIndex} - <t:select t:id="toNode" model="toProbesModel" zone="???"/>
                </td>
            </tr>
            <tr t:type="loop" t:source="1 .. height" t:value="heightIndex">
                <td>${heightIndex} - <t:select t:id="fromNode" model="fromProbesModel" zone="???"/></td>
                <t:loop t:source="1 .. width" t:value="widthIndex">
                    <td row="${heightIndex}" col="${widthIndex}" from="" to="" style="background-color: #BDBDBD;">
                        <t:zone id="${widthIndex}-${heightIndex}">
                            N/A
                        </t:zone>
                    </td>
                </t:loop>
            </tr>
        </table>
    </div>
</t:form>

整个想法是向 XHR 请求添加更多信息,这很可能有助于解决我的问题。

如果目前这有点不可能。也许有人可以帮助我使用原型(prototype) ajax 调用来请求页面片段加载,而不是使用 Tapestry 的功能,尽管我讨厌那样!我想擅长使用 Tapestry :)

此外,我需要修改正在更新的单元格的“样式”属性,以添加图像作为背景,并在单元格完全更新时远程该属性。只是为了显示加载程序 gif。

此外,假设由于选择值更改而更新一列,则该列中的每个单元格中应该有一个特定属性,更改为选择字段的新值。同样的故事也有行。要连续更新的每个单元格都需要有一个特定的属性才能更改为选择字段的值。这些属性将位于“td”元素内。

为了总结这一点,我需要从客户端的页面收集一些参数,并将其添加到与页面相同的区域激活上下文中,但我可以检测它是否是来自那里的 XHR 请求。

我已经使用 servlet 完成了这项工作,但我喜欢使用 Tapestry 来代替:)

非常感谢。

最佳答案

您指定的区域应该是任何存在的区域。哪一个并不重要,因为您需要在事件方法中指定服务器端使用 MultiZoneUpdater 更新哪个区域的内容。看看this example关于如何。

另一方面,如果您创建表头,您可能需要使用 THEAD、TH 和 TBODY 标记,而不是使用常规的旧 TR TD 组合。

关于java - [t5.2.6]在循环内生成区域,然后更新其中的一些区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7311606/

相关文章:

php - 使用 Ajax 在过滤器中显示结果数的最佳方法

ajax - MVC 通用错误 View 和 Ajax Post 和错误代码 500

jsf - JSF、GWT、Wicket 或 Tapestry 在网络上有哪些成功案例?

java - 如何在 Tapestry5 中显示确认消息?

java - 尝试在 UCanAccess ResultSet 上使用 .previous() 方法

java - 步骤/调试 Android 内置应用程序

java - 映射经度和纬度

Java:颜色运算(加、减)? - 恒定类别的颜色

javascript - 将异步并行请求映射到它们的 ID

mysql - 如何配置Tapestry5、Hibernate、Tomcat7、JNDI、Mysql