Я пошел вперед и сделал это в javascript вместо этого. Когда я использовал currentNoteId в скриптлете, как это:
String rowId = row.getId();
String noteId = (String) pageContext.getAttribute("currentNoteId");
if ( rowId.equals( noteId ) ) {
return "currentClass";
}
return null;
Я получил ошибку: получил ошибку Невозможно обратиться к неконечной переменной pageContext внутри внутреннего класса, определенного в другом методе.
Так что вместо этого я написал:
function highlightCurrentTableRow(tableId, currentRowId ) {
var table = document.getElementById(tableId);
var rows = table.getElementsByTagName("tr");
console.log( "rowId", "'" + currentRowId + "'" );
for (i = 1; i < rows.length; i++) {
rowId = rows[i].getElementsByTagName("td")[0].innerHTML;
console.log( " rowId", "'" + rowId + "'" );
if ( rowId == currentRowId ) {
console.log( "got here" );
var rowClass = rows[i].getAttribute("class");
rows[i].setAttribute("class", rowClass + " currentClass" );
};
}
}
На самом деле это может не работать в IE, поскольку слово "класс" является ключевым словом, поэтому вместо этого я использовал Yahoo YUI addClass (элемент, класс), поэтому я заменил
var rowClass = rows[i].getAttribute("class");
rows[i].setAttribute("class", rowClass + " currentClass" );
с
YAHOO.util.Dom.addClass(rows[i],'currentClass');