我目前正在将 displaytag 用于表格数据,但想创建一个“类似 kayak.com”的界面,当用户单击一行时,会在不刷新页面的情况下向用户显示有关特定行的更多详细信息。
例如,在单击第 1 行的详细信息链接之前:
row1|col1|col2|col3|col4|详细信息
row2|col1|col2|col3|col4|详细信息
row3|col1|col2|col3|col4|详细信息
点击后:
row1|col1|col2|col3|col4|Detail
--------row1Detail-------------
row2|col1|col2|col3|col4|Detail
row3|col1| col2|col3|col4|详情
我尝试使用装饰器返回可以执行此操作的 javascript。javascript 被执行,但它只反映在它被呈现的列中。我希望插入一个新行,其中包含不影响 displaytag 分页和排序的数据。
例如:
public class CustomDecorator extends TableDecorator {
public String getDetailsRow() {
MyObject object = (MyObject)this.getCurrentRowObject();
return "<a onClick=\"myjsfunction(object.getId()); return true\">Details</a>";
}
}
...并且在 JSP 中,我将在 display:table 标记之间嵌套一个 detailsRow 属性:
<display:column property="detailsRow" sortable="false" />
有关如何正确插入新行的任何提示?解决方案可能是编写 javascript 的方式 - 我不是 Javascript 专家,所以任何提示将不胜感激。有没有更好的方法来使用 displaytag 做到这一点?我也不知道 displaytag 与 javascript 的任何显式集成(如“onclick”参数)。
这是我关于stackoverflow的第一个问题,顺便说一句-所以请让我知道您是否需要更多详细信息。