Problema Apostila da Caelum | Action Struts 2

10 respostas
fuadksd

Gente, to lendo a apostila da caelum fj21 e to com problema aqui.

Na parte onde inicia struts2, ali diz que vc precisa manter suas actions em uma pacote chamado action, actions ou struts2.
Durante a apostila ele simplesmente cria um pacote action e coloca as classes la dentro. Eu tentei fazer isso mas nao ta dando certo aqui.

Não tem que dizer ao struts onde vc esta colocando suas actions?

10 Respostas

J

Tenta assim :

package = action

nome da classe = minhaAction

Eu ão lembro muito bem mais eu ho que o nome o pacote tem que terminar com Action e o nome da classe também , só tenta eu não tenho ctz . :slight_smile:

Mais eu acho que na apostila eles explicam isso corretamente .

fuadksd

minha package é: task.action

minha classe é: AddTaskAction

nã precisa configurar mais alguma coisa no web.xml?

drsmachado

Vamos por partes.
Em primeiro lugar, você colocou os jars do struts 2 dentro da pasta lib que existe em WEB-INF?
Em segundo lugar, você colocou a chamada ao struts, no arquivo web.xml?
Terceiro, se colocou os jars, qual versão você está utilizando? É a mesma versão dos jars da apostila?

fuadksd

copiei os jars que sao citados na apostila.
coloquei o filter assim:

<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

a versão utilizada é mis nova 2.3.1

drsmachado

Bom, o problema é que a versão 2.3.1 não é igual a 2.1.6 que é utilizada na apostila.

1 - A versão 2.3.1 implica que, para qualquer classe Action, você precisa marcar com a annotation @Namespace e definir o local do namespace

@Namespace("/");
public class TesteAction extends ActionSupport{}

O que significa que cada location de cada Action irá responder no pacote padrão, ou seja:

WEB-INF/content

2 - As dependências dos jars é diferente, tem uns jars a mais, como o caso dos jars da família asm
asm-3.1
asm-commons-3.1

Entre outras.

3 - Pode ocorrer erros no javassist, caso ocorra, só apague o jar da pasta lib e recoloque-o novamente.

Tirando isso, todo o resto deve funcionar.

fuadksd

blz valeu. vou tentar aqui

só mais uma coisa: isso tudo vale pelo modelo de convenções?

drsmachado

fuadksd:
blz valeu. vou tentar aqui

só mais uma coisa: isso tudo vale pelo modelo de convenções?


Ahn?

O melhor que você tem a fazer é baixar a versão 2.1.6
Ficará mais simples de trabalhar.

fuadksd

na verdade é 2.1.8. e eu não to conseguindo baixar aqui, pelo site do struts. não consigo achar a versão.

drsmachado

Tente neste link

http://archive.apache.org/dist/struts/binaries/

S

Acesse o meu canal no Youtube. Lá eu tenho um video recente com configuração e olá mundo no Struts 2.

http://www.youtube.com/SerginhoVittorino

[youtube]http://www.youtube.com/watch?v=1NhXH_PSiQo&list=UUMpMnEDxXm_jCILYSQx4Mjg&index=7&feature=plcp[/youtube]

Att.
SerginhoVittorino

Criado 25 de dezembro de 2011
Ultima resposta 26 de dez. de 2011
Respostas 10
Participantes 4