我正在开发一个应用程序,我需要在页面中显示订单的配置数据。
因此,工作模型是当用户点击按钮时,会触发一个事件并调用dojo调用,该调用与业务层交互并获取配置数据并在其中一个内部HTML中加载响应(通过js)我的jsp页面,它包含在另一个jsp页面中。
现在,我试图打破数据并显示它。这里的问题是,以前我只有一个电话和一个响应。现在,有多个电话,每个电话都有响应。因此,应用程序按原样工作并水平显示配置。因为,我包括一个jsp页面,每次触发请求时,数据都会显示在jsp中。我希望数据应该一个接一个地显示。那就是:
First JSP
Second JSP
Third JSP
'n' JSP
但是,jsp的显示为
第一个JSP第二个JSP第三个JSP'n'JSP
有人可以帮忙吗?任何建议都会有所帮助。感谢
JSP:
<tr id='GRP_<c:out value="${id}"/>' <c:out value="${groupStyle}" escapeXml="false"/>>
<c:if test="${!sdConfigUIGroup.loadOnDemand}">
<jsp:include page="Service.jsp"/>
</c:if>
</tr>
JS:
function testFunc(arg0, data, response, request) {
if (arguments == null || arguments.length < 4 || !response.responseText || response.responseText == null || !request.content || request.content == null || !request.content.groupUniqueId
|| request.content.groupUniqueId == null) {
return;
}
var responseHTML = response.responseText;
var id= request.content.id;
var newElement = document.getElementById("GRP_" + id);
innerElement = document.createElement("td");
newElement.appendChild(innerElement);
innerElement.innerHTML = responseHTML;
var afterAddAnotherFunc = 'afterAddAnother_' + groupUniqueId;
if (typeof window[afterAddAnotherFunc] == 'function')
runFunction(afterAddAnotherFunc, []);
loadAgain(id);
}
答案 0 :(得分:0)
签入JSP代码不会在同一个TR元素中创建所有TD元素。
E.g 下一个表显示数据
第一个JSP第二个JSP第三个JSP&#39; n&#39; JSP
<table>
<tr>
<td>First JSP</td>
<td>Second JSP</td>
<td>Third JSP</td>
<td>'n' JSP</td>
</tr>
</table>
下一个表显示数据。
第一个JSP
第二个JSP
第三个JSP
&#39; N&#39; JSP
<table>
<tr>
<td>First JSP</td>
</tr>
<tr>
<td>Second JSP</td>
</tr>
<tr>
<td>Third JSP</td>
</tr>
<tr>
<td>'n' JSP</td>
</tr>
</table>
我应该使用自定义Dojo小部件来显示您的数据。查看教程here。
答案 1 :(得分:0)
function testFunc(arg0, data, response, request) {
if (arguments == null || arguments.length < 4 || !response.responseText || response.responseText == null || !request.content || request.content == null || !request.content.groupUniqueId
|| request.content.groupUniqueId == null) {
return;
}
var responseHTML = response.responseText;
var groupUniqueId = request.content.groupUniqueId;
var newElement = document.getElementById("GROUP_" + groupUniqueId);
//Creation of table/row/column
//newTable = document.createElement("table");
//newTable.setAttribute("id","DTABLE");
outerElement = document.createElement("tr");
outerElement.setAttribute("id","DROW");
innerElement = document.createElement("td");
innerElement.setAttribute("id","DCOL");
innerElement.innerHTML = responseHTML;
outerElement.appendChild(innerElement);
//newTable.appendChild(outerElement);
newElement.appendChild(outerElement);
var afterAddAnotherFunc = 'afterAddAnother_' + groupUniqueId;
if (typeof window[afterAddAnotherFunc] == 'function')
runFunction(afterAddAnotherFunc, []);
showOverlay();
msgBox("Page Loading, please wait...");
loadMore(groupUniqueId);
}
这就是我解决这个问题的方法。我没有单独创建td,而是创建一行,然后在其中添加一列。这个对我有用。感谢您的任何建议:)