JSF - iterando uma lista

opa!

galera se eu fizer dessa forma

<h:form>
	<ul>
		<ui:repeat value="#{controleLogin.subMenusList}" var="menu">
			<li><a href="#{menu.linkMenu}">#{menu.descricaoMenu}</a></li>
		</ui:repeat>
	</ul>
</h:form>

ela gera isso

mas se eu fizer dessa forma

<h:form>
	<ul>
		<ui:repeat value="#{controleLogin.subMenusList}" var="menu">
			<li><h:commandLink value="#{menu.linkMenu}" action="#{menu.linkMenu}"></h:commandLink>
		</ui:repeat>
	</ul>
</h:form>

ele entende que o meu action é isso

quando na verdade isso não passa da variavel de iteração que eu criei

como resolver esse problema

ou se tiver outra solução, me ajudem, pois olho isso e tenho certeza de que está errado


public ControleVenda() {
	clientes = new ArrayList<ClienteBean>();
	client = new ClienteBean();
	unidade = new UnidadeBean();
	venda = new VendaBean();
	formaPagamento = new FormaPagamentoBean();
	try {
		clientes = new ClienteBiz().getAllVenda(); // lista dos clientes
		listaEstadoCivil = new EstadoCivilBiz().getAll();
		listaCor = new CorBiz().getAll();
		listaProfissao = new ProfissaoBiz().getAll();;
		listaEstado = new EstadoBiz().getAll();
		listaUnidade = new UnidadeBiz().getAllSelect();
		listaFormaPagamento = new FormaPagamentoBiz().getAllSelect();
	} catch (SQLException e) {
		// DO NOTHING
	}
	clientesNames = new ArrayList<String>();
	clientesOptions = new ArrayList<SelectItem>();
	Iterator<ClienteBean> iter = clientes.iterator();
	while( iter.hasNext() ) {
		ClienteBean cli = (ClienteBean) iter.next();
		clientesNames.add(cli.getNomeCliente());
		clientesOptions.add(new SelectItem(cli.getNomeCliente(), cli.getCpf()));
	}
	styleDet = "display: none";
	styleCheque = "display: none";
	styleCartao = "display: none";
}

só para constar, essa lista que eu itero, monta a lista de menus que o usuario pode ter de acordo com as permissoes que ele tem

obrigado

[quote=paulofernandesjr]opa!
ele entende que o meu action é isso
#{menu.linkMenu}
[/quote]

Troca o commandLink pelo outputLink.

não creio que isso resolva o meu problema, porque eu não preciso que ele venha assim

pois a minha lista retorna no link algo similar a isso

onde consultaVenda é um método da minha classe de controller

abraço

Pensei que você queria substituir o link do html por algo similar ao JSF.
Desculpe, então não entendi seu problema.

Se eu bem entendi você quer criar um menu diâmico certo?! Bom, acho que não vai dar para fazer na maneira que você quer, pois o action deve ser a referência para o método, não uma string para ele fazer o redirecionamento da página.

Tente o outputLink como o colega sugeriu.

é isso mesmo thiago.correa

o que eu preciso é de uma menu dinamico com os metodos, qual seria a sugestão?

sem ser o outputLink