protected void encodeFrozenRows(FacesContext context, DataTable table) throws IOException { Collection<?> frozenRows = table.getFrozenRows(); if (frozenRows == null || frozenRows.isEmpty()) { return; } ResponseWriter writer = context.getResponseWriter(); String clientId = table.getClientId(context); String var = table.getVar(); String rowIndexVar = table.getRowIndexVar(); Map<String, Object> requestMap = context.getExternalContext().getRequestMap(); writer.startElement("tbody", null); writer.writeAttribute("class", DataTable.DATA_CLASS, null); int index = 0; for (Iterator<? extends Object> it = frozenRows.iterator(); it.hasNext(); ) { requestMap.put(var, it.next()); if (rowIndexVar != null) { requestMap.put(rowIndexVar, index); } encodeRow(context, table, clientId, index, rowIndexVar); } writer.endElement("tbody"); }