Configuração do Struts 2

4 respostas
E

Opa galera!
Seguinte, estou iniciando um projeto usando Struts 2 e estou com o seguinte problema…
Sempre que chamo login.jsp, o servidor diz que não consegue encontrar a action mapeada (“There is no Action mapped for namespace /manterUsuario and action name ManterUsuario.”).

index.jsp

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
	<head>
	    <META HTTP-EQUIV="Refresh" CONTENT="0;URL=manterUsuario/ManterUsuario.action">
	</head>
	<body>
		<p>
			Carregando ...
		</p>
	</body>
</html>

struts.xml

<?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.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="false" />

    <include file="manterusuario.xml"/>
    
</struts>

manterusuario.xml

<?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>

    <package name="manterUsuario" namespace="/manterUsuario" extends="struts-default">
        <action name="ManterUsuario" class="org.teste.uc.manterusuario.ManterUsuarioAction">
            <result>/WebContent/jsp/teste/manterUsuario.jsp</result>
        </action>
    </package>
    
</struts>

4 Respostas

J

Como vc config seu web xml ???

Ex:

<filter-mapping>
		<filter-name>contexto</filter-name>
		<url-pattern>*.action</url-pattern>
	</filter-mapping>
	<!-- O filtro struts2 deve ser mapeado por ultimo, pois bloqueia os filtros posteriores -->
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

ai a chamanda fica /nomeAction.action

E
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

    <display-name>Struts Blank</display-name>

    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>struts2</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>

</web-app>
[/code]
E

Já consegui configurar…era pau do SunAppServer… :evil:
Valeu!!!

E

Bom…pra não abrir outro tópico vou usar esse mesmo.
To querendo usar o Validation. Eu tenho que fazer alguma configuração além de criar TesteAction-validation.xml e botar no mesmo diretório que TesteAction?

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
	<head>
	    <title>
	    	Teste
	    </title>
	</head>
	<body>
		<s:form action="Teste" method="post">
			<tr>
				<td colspan="2">
					<s:actionerror />
					<s:fielderror />
				</td>
			</tr>
		    <s:textfield label="Teste" name="teste"/>
		    <s:submit value="Testar"/>
		</s:form>
	</body>
</html>
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">

<validators>

	<field name="teste">
		<field-validator type="requiredstring">
			<param name="trim">true</param>
			<message>Funcionou!!!</message>
		</field-validator>
	</field>

</validators>
package org.teste;

public class TesteAction extends ActionSupport {
	
	private static final long serialVersionUID = 1L;
	private String teste;
	
	public String getTeste() {
		return this.teste;
	}
	public void setTeste(String teste) {
		this.teste = teste;
	}
	
}
<?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>

    <package name="teste" namespace="/teste" extends="struts-default">
        <action name="Teste" class="org.teste.TesteAction">
            <result>/jsp/sucesso.jsp</result>
	    <result name="input">/jsp/teste.jsp</result>
            <result name="error">/jsp/teste.jsp</result>
        </action>
    </package>
    
</struts>
Criado 10 de janeiro de 2008
Ultima resposta 11 de jan. de 2008
Respostas 4
Participantes 2