4.4 Mapeando a action e os JSPs na configuração (struts.xml e web.xml)

Para instruir o struts que o helloAction.java, helloOk.jsp e helloReq.jsp estão relacionados, é necessário criar este mapa no arquivo struts.xml e alterar o arquivo web.xml com a declaração para o Struts.

Para criar o arquivo struts.xml, vá na pasta src, clique na opção New → File→Other... →XML→XML File e crie o arquivo struts.xml.

Este arquivo deverá ter o seguinte conteúdo:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
   "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
   "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
   <package name="helloPack" extends="struts-default">
     
      <action name="hello" 
            class="helloPack.HelloAction" 
            method="execute">
            <result name="success">/HelloOK.jsp</result>
      </action>
   </package>
</struts>

Nos últimos arquivos gerados, repare os seguintes mapeamentos:

helloReq.jsp Struts.xml
<form action="hello">
<action name="hello" 
            class="helloPack.HelloAction" 
            method="execute">
            <result name="success">/HelloOK.jsp</result>
      </action>

Struts.xml HelloAction.java
<action name="hello" 
            class="helloPack.HelloAction" 
            method="execute">
            <result name="success">/HelloOK.jsp</result>
      </action>
package helloPack;
public class HelloAction {

Atenção quando estiver definindo os nomes dos arquivos, pois a não coincidência dos nomes nestes arquivos leva a erros de difícil detecção. Geralmente, erros nestes locais são exibidos na página como “HTTP Status 404 - There is no Action mapped for namespace [/] and action name [hello] associated with context path”, por exemplo.
Copyright © 2014 AIEC.