Diálogo não atualizando após preencher o modelo no método de ação

Eu estou usando uma caixa de diálogo primefaces. Eu tenho uma lista de itens, e sempre que eu escolher um item, eu quero a caixa de diálogo para exibir o nome desse item. No entanto, isso não está acontecendo. Em vez de exibir o nome do item, o diálogo não está exibindo nenhum nome. Eu postei meu código abaixo.

       <h:form>
         <h:dataTable binding="#{table}" value="#{item.itemList}" >
          <h:column>
            <h:link value="#{item.itemList[table.rowIndex]}" outcome="item">
              <f:param name="itemName" value="#{item.itemList[table.rowIndex]}" />
            </h:link>
          </h:column>
          <h:column>
            <p:commandButton action="#{item.setItem(item.itemList[table.rowIndex])}" id="showDialogButton" 
                             type="link" value="Delete" onclick="dlg.show()" />
          </h:column>
        </h:dataTable>
        <br />
        <p:dialog header="Item" widgetVar="dlg" resizable="false">
          <!-- I've also tried Item: #{item.item} -->
          <p>Item: <f:attribute name="contentId" value="#{item.item}"/> </p>
          <p:commandButton id="submitButton" value="Yes" action=
              "#{item.deleteItem}" oncomplete="dlg.hide();">
          </p:commandButton>
          <p:commandButton id="cancelButton" value="Cancel" oncomplete="dlg.hide();" />
        </p:dialog>

      </h:form>

Meus getters e setters são apenas getters e setters genéricos.

questionAnswers(1)

yourAnswerToTheQuestion