Eu tenho tentado sem sucesso para configurar uma aplicação simples Struts2 para que eu possa continuar com a aprendizagem do quadro. Basicamente, o que eu estou esperando para acontecer é que quando uma ação é desencadeada que não está definido, em seguida, uma página padrão será exibida.
Este aplicativo está sendo desenvolvido em Eclipse.
Eu tenho um arquivo struts.xml muito simples configurar no diretório WEB-INF / classes:
<struts>
<!-- Include webwork default (from the Struts JAR). -->
<include file=struts-default.xml />
<!-- Configuration for the default package. -->
<package name=default extends=struts-default>
<action name=*>
<result>/test.jsp</result>
</action>
</package>
</struts>
Eu tenho o arquivo test.jsp (apenas o modelo padrão jsp que é criado no Eclipse, ou seja, Inserir o título aqui) no nível WebContent, ea página de boas-vindas (que aciona a ação) é index.jsp também está na mesma nível e é exibido na inicialização do programa. Ela é definida como se segue:
<%@page contentType=text/html pageEncoding=UTF-8%>
<%@ taglib prefix=s uri=/struts-tags %>
<html>
<head>
<title>GlassFish JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
<s:form action=other>
<s:submit value=Submit />
</s:form>
</body>
</html>
Eu também tentei isso com outros nomes de ação, e não importa o quê, eu voltar uma página 404 não encontrado. Eu tentei isso em ambos GlassFish e Websphere 6.1.1 com os mesmos resultados, levando-me a suspeitar que há algo que eu estou em falta que provavelmente está certo na minha frente envolvendo quer estrutura de diretório (são os caminhos relativos aos suportes. arquivo xml ou a raiz de contexto?) ou algum arquivo de configuração.
Depois de algum tentar, eu era capaz de obter esta instalado e funcionando no Eclipse Ganymede no Mac OS X 10.5.6 usando Glassfish, mas ainda estou tendo nenhuma sorte com a IBM Websphere e Application Server Toolkit (um derivado Eclipse) no Windows XP. Eu sou um pouco suspeito que isso pode ter algo a ver com o navegador.
Eu apenas tentei adicionar um arquivo chamado other.action para o mesmo diretório como meus outros arquivos JSP mencionados acima. Agora, quando eu clico no botão enviar que está ligada à ação outro, a ação prossegue com sucesso à minha página test.jsp. Posso estar errado, mas eu não acredito que eu deveria ter para dar um arquivo chamado someaction.action para cada someaction possível que eu talvez precise usar (eu sei que não precisamos, no OS X correr do meu app).
Mais atualizações - Eu só tentei no Firefox 3.5.2 e em execução em que o navegador deu os mesmos resultados - arquivo não encontrado sem o arquivo other.action na Websphere, então agora eu suspeito que é um problema de configuração Websphere.