У меня есть два jsp файла. В первом файле отображается таблица файла, а в коде у меня есть доступ к значению (идентификатору файла). Также это всплывающее окно.
Если для файла назначена заметка, то заметка отображается в таблице. Если нет, кнопка для добавления заметки отображается на своем месте. После нажатия кнопки мы вызываем код из второго файла, и открывается всплывающее окно.
Я хочу получить доступ к идентификатору файла во втором файле.
Первый файл (поэтому здесь идентификатор, который я вызываю где-то ${na.id}
Я получу идентификатор каждого файла):
<div id="files-list-${bean.product.id}">
<table class="table">
<thead>
<tr>
<th>File</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
<c:if test="${fn:length(bean.product.files)>0}">
<c:forEach items="${bean.product.files}" var="na">
<tr>
<td>${na.name}</td>
<td>
<c:if test="${empty na.note}">
<t:jquery func="myDialog('filesNotes',${bean.product.id},${bean.product.version})">Add note</t:jquery>
</c:if>
<c:if test="${not empty na.note}">
${na.note}
</c:if>
</td>
</tr>
</c:forEach>
</c:if>
</tbody>
</table>
</div>
Второй файл (всплывающее окно) - здесь ${bean.fileId}
в URL-адрес действия пуст:
<div id="filesNotes" class="classA" title="Notes">
<form:form role="form" method="POST" modelAttribute="bean" action="app/updateFile.ajax?id=${bean.product.id}&fileId=${bean.fileId}" onsubmit="return postAjaxForm(this)">
<form:hidden path="id" value="${bean.product.id}" />
<input type="hidden" name="version" value="${bean.product.version}" />
<form:textarea path="product.scratchpad" htmlEscape="true" cssClass="form-control" rows="17" cols="63"/>
</form:form>
</div>
Функция myDialog: (учтите, я не очень хорошо разбираюсь с js и внешним интерфейсом :))
function myDialog(id, oid, oversion){
if($("#"+id).length < 1){
alert("not found element #"+id);
return;
}
$("#"+id).find("input[name=id]").val(oid);
var v = $("#"+id).find("input[name=version]");
if(v.length > 0){
v.val(oversion);
}
var tbody =$("#"+id+"-"+oid);
var tbody_rpl = $("#"+id).find(".tbody_rpl");
if(tbody_rpl.length>0){
tbody_rpl.html("");
if(tbody.length>0){
var clonetbody = tbody.clone();
tbody_rpl.append(clonetbody);
clonetbody.show();
}
}
$().showDialog(id);
}