@Target(value=TYPE) @Retention(value=RUNTIME) public @interface Controller
Uma ação pode ser representada por um método que pode ter ou não parâmetros que podem ser objetos ou tipos primitivos. Se forem objetos, podem ser criados mapeamentos para se definir como os valores de uma solicitação serão injetados em suas propriedades. Se o método produzir um resultado, este será processado e incluído na solicitação para posteriormente ser usada na visão.
As exceções lançadas dentro do método podem alterar o fluxo lógico da aplicação.
Ex1:
@Controller(value="/index",defaultActionName="action1")
@ActionStrategy(ActionStrategyType.PARAMETER)
public class Index{
@Action
public void action1(){
...
}
@Action
public void action2(){
...
}
}
Ex2:
@Controller(value="/index/{invoke}")
@ActionStrategy(ActionStrategyType.PARAMETER)
public class Index{
@Action
public void action1(){
...
}
@Action
public void action2(){
...
}
}
Ex3:
@Controller
@ActionStrategy(ActionType.DETACHED)
public class Index{
@Action("/index/action1")
public void action1(){
...
}
@Action("/index/action2")
public void action2(){
...
}
}
Ex4:
@Controller("/index")
@ActionStrategy(ActionType.COMPLEMENT)
public class Index{
@Action("/action1")
public void action1(){
...
}
@Action("/action2")
public void action2(){
...
}
}
public abstract String defaultActionName
public abstract String name
public abstract String[] value
public abstract String actionId
Copyright © 2026 Brandao. All rights reserved.