Grails /Controllers
18/01/2012 12:50
0
Ola como vai esse e meu primeiro post.
Estou aqui para tirar uma duvida sobre controllers em grails.Minha duvida é quando eu gero um controller e executo a aplicação.Na pagina inicial do aplicativo vem ex:pessoasController,o que eu gostaria de fazer e so deixar como pessoas.Teria como fazer isso pois não estou achando nehuma linha de codigo que fassa nem mesmo no main.gsp.Alguem poderia me ajudar?
Tags: PessoasControllers.


0
Não entendi muito bem a duvida, quando você cria um controller PessoasController você acessa por "pessoas" qualquer alteração no modo de acessar você pode fazer no url mapping...
18/01/2012 13:51


0
Minha duvida e na pagina inicial ou seja na index.
Tipo criei uma aplicação com as classes e tal e os controllers colocando essa aplicação para rodar ela lista na index os controllers tipo projetoA.MensalidadesController projetoA.PessoasController.O estou querendo fazer e modificar isso para o nome correto ou seja Mensalidades e Pessoas e não ex:projetoA.MensalidadesController.



0
Neste caso basta você alterar o gsp padrão do index.gsp que é gerado quando você cria seu projeto.

Dentro do bloco each que itera sobre os controladores, basta executar a impressão como no exemplo abaixo:


<g:each in="${lista_controladores}" var="controler">
${controller.name.replaceAll('controller', '')}
</g:each>


0
Valeu Kiko.Deu erro ao eu executar no caso eu teria que modificar isso daqui certo de acordo com o que voce passou.???
<g:each var="c" in="${grailsApplication.controllerClasses.sort { it.fullName } }">
<li class="controller"><g:link controller="${c.logicalPropertyName}">${c.fullName}</g:link></li>
</g:each>


0
O que eu teria que alterar.?


0

0
Alguem poderia me ajudar estou precisando muito dessa alteração mais não to ocnseguindo.


0
Oi Eduardo, assim:


<g:each var="c" in="${grailsApplication.controllerClasses.sort { it.fullName } }">
<li class="controller"><g:link controller="${c.logicalPropertyName}">${c.fullName.replaceAll('controller', '')}</g:link></li>
</g:each>


0
Valeu Kiko.Mais fica a mesma coisa dp <g:each antigo ex
: projetoA.MensalidadesController
projetoA.PessoasController

Eu estou tentando deixar so Mensalidades e Pessoas.


0
Desculpa se estou emcomandando mais estou iniciando em grails e to gostando muito mais esta etapa que estou tentando fazer não to conseguindo.


0
O que poderia ser pois coloquei como voce mandou e continua a mesma coisa.???



0

0
Eduardo,

Tente fazer a digestão do comando que o Henrique te passou.. não só copiar e colar

Se vc reparar, vc está substituindo todo texto "controller" do nome completo do controlador (que por padrão traz esse termo).

Se vc quiser substituir o nome do projeto, o princípio é o mesmo... se quiser substituir os pontos "." por "/" é também o mesmo princípio.
18/01/2012 17:13


0
Oi Eduardo, não é incomodo algum.

O que você poderia fazer neste caso é executar a busca em cima dos controllers que te interessem também.

Você pode incluir um scriptlet na sua página mais ou menos como o código abaixo


<%
def controllersAlvo = grailsApplication.controllerClasses.sort ({it.fullName}).findAll {
c.fullName == "valor1" || c.fullName == "valor2"
}
%>
<g:each var="c" in="${controllersAlvo}">
<li class="controller"><g:link controller="${c.logicalPropertyName}">${c.fullName.replaceAll('controller', '')}</g:link></li>
</g:each>


0
Valeu mais uma vez.No caso os def seria nos controladores ?


0
Ops errei.E na index mesmo.No os valores eu seto o que eu quero tipo o nome ?


0
Porem eu fiz o scriptlet tudo certo de acordo com os dados aqui mas da erro na pagina eu tirando o scriptlet e deixando so <g:each não da mais não aparece os controlles mais iso por causa que num tem nenhuma ação o que eu não entendi foi sobre o scriptlet ter dado erro.Segue em baixo o codigo da minha pagina.
</style>
</head>
<body>
<a href="#page-body" class="skip"><g:message code="default.link.skip.label" default="Skip to content&hellip;"/></a>

<h1>Cadastros: </h1>
<div id="status" role="complementary">
<!--<div id="controller-list" role="navigation">-->
<ul>

<%
def controllersAlvo = grailsApplication.controllerClasses.sort ({it.fullName}).findAll {
c.fullName == "Mensalidades" || c.fullName == "Pessoas"
}
%>
<g:each var="c" in="${controllersAlvo}">
<li class="controller"><g:link controller="${c.logicalPropertyName}">${c.fullName.replaceAll('controller', '')}</g:link></li>
</g:each>




</ul>
</div>

</div>
</body>
</html>


0
Bom como não obtive rendimento e não consigui estou deixando essa alteração e deixando no modo normal.Obrigado a todos pela força.Mas não consegui.


1
Solução do Problema.
<g:each var="c" in="${grailsApplication.controllerClasses.sort { it.fullName } }">
<li class="controller"><g:link controller="${c.logicalPropertyName}">${c.fullName.replaceAll('Controller', '')}</g:link></li>
</g:each>


Agradeço a todos e principalmente ao Henrique Lobo por dar uma força e tanta.
Abraços....\o\o\



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto