Pessoal,
Alguém sabe como criar um mapeamento no struts? Tipo pra poder a gente usar no struts-config.xml de maneira que eu possa criar um novo atributo na tag , passar um valor pra ele e do action fazer mapping.getMeuAtributoDoStrutsConfig ?
Algo como o DispatchAction faz… a tag do mapeamento do DispatchAction no struts-config tem um atributo parameter, que o DispatchAction usa para saber qual metodo do action invocar.
Pessoal, é mais ou menos assim o que quero saber:
- no Struts nós podemos criar nossos próprios Forms, escrevendo a classe do form que herda de ActionForm
- podemos fazer nossos próprios Actions, escrevendo a classe do action que herda de Action
o struts vai chamar o método execute da Action, o qual tem a seguinte assinatura:
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception;
O que eu gostaria de saber é se tem como a gente criar nosso próprio ActionMapping, talvez escrevendo uma classe que herda de ActionMapping . Para poder, nos Actions que eu escrever receber uma instância do ActionMapping que eu criei.
Estou precisando disso para poder passar algumas informações para o Action através do mapeamento configurado no struts-config. Por exemplo, como estou usando atualmente (usando o ActionMapping padrão):
<action
attribute="form"
parameter="method"
path="/basico_cargo"
scope="request"
type="br.com.viamentor.sicof.struts.action.basico.CargoAction"
validate="false">
<forward name="lista" path="/jsp/basico/CargoLista.jsp" />
<forward name="carrega" path="/jsp/basico/Cargo.jsp" />
</action>
Todos esses valores podemos obter através do objeto ActionMapping que recebemos no método execute. Portanto, gostaria de adicionar uns atributos nessa configuração para poder enriquecer a arquitetura daqui da empresa, informando algumas informações declarativamente, através do struts-config.
Alguém sabe se é possível ou tem alguma idéia?
[]'s
Melhorando o link dado acima, vc tb pode editar o TLD do struts para receber parametros especializados (como a sua classe de actionMapping) e colocar mais parametros na propria tac do struts… eu já fiz isso a algum tempo e ficou legal…