Erro em Messages

Ola Pessoal…
Estou estudando o Struts, e baixei um tutorial da net, mas da o seguinte erro quando mando compilar:

src/CatalogoDetalheForm.java[80] cannot resolve symbol
symbol : variable MESSAGES_KEY
location: class org.apache.struts.action.Action
MessageResources messages = (MessageResources) servelet.getServeletContext().getAttribute(Action.Messages_key);

Estou usando o NetBeans

Este é o código…

[code]
package catalogo.form;

import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionError;
import org.apache.struts.util.MessageResources;

public final class CatalogoDetalheForm extends ActionForm
{
// Variáveis de instância
private String ideCatalogo = null;
private String ideTipo = null;
private String ideGenero = null;
private String desCatalogo = null;

// Métodos getters e setters

public String getIdeCatalogo()
{
    return (this.ideCatalogo);
}

public void setIdeCatalogo(String ideCatalogo)
{
    this.ideCatalogo = ideCatalogo;
}

public String getIdeTipo()
{
    return (this.ideTipo);
}

public void setIdeTipo(String ideTipo)
{
    this.ideTipo = ideTipo;
}

public String getIdeGenero()
{
    return (this.ideGenero);
}

public void setIdeGenero(String ideGenero)
{
    this.ideGenero = ideGenero;
}

public String getDesCatalogo()
{
    return (this.desCatalogo);
}

public void setDesCatalogo(String desCatalogo)
{
    this.desCatalogo = desCatalogo;
}

// Método para limpar os campos do formulário

public void reset(ActionMapping mapping, HttpServletRequest request)
{
    ideCatalogo = null;
    ideTipo = null;
    ideGenero = null;
    desCatalogo = null;        
}

// Método de validação

public ActionErrors validate(ActionMapping mapping,
        HttpServletRequest request)
{
    ActionErrors erros = new ActionErrors();

    Locale locale = request.getLocale();
    MessageResources messages = (MessageResources) servlet.getServletContext().getAttribute(Action.MESSAGES_KEY);

    // Valida os campos obrigatórios

    if ("CatalogoDetalhe".equals(mapping.getParameter()))
    {
        if ((ideTipo == null) || (ideTipo.length() < 1))
        {
            erros.add(ActionErrors.GLOBAL_ERROR, new ActionError("validacao.obrigatoriedade", messages.getMessage("interface.ideTipo")));
        }
        
        if ((ideGenero == null) || (ideGenero.length() < 1))
        {
            erros.add(ActionErrors.GLOBAL_ERROR, new ActionError("validacao.obrigatoriedade", messages.getMessage("interface.ideGenero")));
        }
        
        if ((desCatalogo == null) || (desCatalogo.length() < 1))
        {
            erros.add(ActionErrors.GLOBAL_ERROR, new ActionError("validacao.obrigatoriedade", messages.getMessage("interface.desCatalogo")));
        }
    }
    return erros;
} 

}[/code]