Hello World Struts 2

5 respostas
ncm

Galera estou tentando fazer o hello world no struts 2,
mas não sei que erro estou tendo.

bem…

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>struts</display-name>
  
  <filter>
  	<filter-name>s2</filter-name>
  	<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
  </filter>
  
  <filter-mapping>
  	<filter-name>s2</filter-name>
  	<url-pattern>/*</url-pattern>
  </filter-mapping>
  
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

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>
	<include file="struts-default.xml"/>
	<package name="default" extends="struts-default">
		<action name="index" method="execute" class="com.mlc.study.IndexAction">
            <result>/index.jsp</result>
        </action>		
	</package>
</struts>

IndexAction

package com.mlc.study;

import com.opensymphony.xwork2.ActionSupport;

public class IndexAction extends ActionSupport {

	private static final long serialVersionUID = -6539916823610058982L;
	
	String message = "Ainda não";	
	
	public String execute(){
		message = "Olá Mundo";
		return "Olá Mundo";
	}

	public String getMessage() {
		return message;
	}

	public void setMessage(String message) {
		this.message = message;
	}
}

Eu acesso pela url

http://localhost:8080/struts/index.action

Alguém me dá uma luz. :roll:

Foi mal, sei que a dúvida é básica, mas me atolei.

Abraços.

5 Respostas

fiaux

Uma coisa que eu vi foi o result no seu struts.xml e seu return no execute da action. Deve ser algo parecido com isso:

<result name="success" type="redirect-action">
return SUCCESS;
ncm

Ok,

Vou tentar.

ncm

Até que resolveu meu problema,

mas acabou gerando outro.

Vou estudar mais um pouco, ai volto no forum.

Valeu pela ajuda.

Jair_Rillo_Junior

ncm,

Apenas uma dica. Eu aconselho você criar um projeto novo usando o MAVEN 2. Ele tem um archetype para projetos do Struts 2.
Além do Struts, ele adiciona suporte ao Spring, Sitemesh, DWR e etc. É uma mão na roda.

Se for fazer via linha de comando, pode usar o seguinte:

mvn archetype:create -DgroupId=tutorial \ -DartifactId=tutorial \ -DarchetypeGroupId=org.apache.struts \ -DarchetypeArtifactId=struts2-archetype-starter \ -DarchetypeVersion=2.0.5-SNAPSHOT \ -DremoteRepositories=http://people.apache.org/repo/m2-snapshot-repository

Agora se você usa Eclipse, aconselho instalar o plugin M2ECLIPSE para trabalhar com o Maven.

lucas.lnx

Olá,
Acho que é o meu primeiro post. Espero que saia tudo bem.
O procedimento para a versão do maven2 que estou usando mudou (apache-maven-2.2.1)
Primeiro eu entrei em um diretório com permissão de acesso para o meu usuáiro:

cd d:\

Depois digitei o comando abaixo para criar um projeto:

mvn archetype:generate

Várias opções serão apresentadas. Para usar o struts2, digte o número 103 e “enter”
103: remote -> struts2-archetype-starter (null)
Para DgroupId, coloque a hierarquia de packages desejada:

[i]DgroupId:  [b]com.minhaempresa.app.timereg[/b][/i]

Opção 3: Pasta que será criada a estrutura: neste exemplo D:\timereg

[i][b]DartifactId:[/b]  timereg[/i]

As outras opções foram default, fui dando enter e no final deu tudo certo.
Lembrando que para rodar o projeto eu usei os comandos:

[b]cd D:\timereg [/b]

e

mvn jetty:run

Será realizado o download dos plugins para executar o comando (demora um pouco se for a primeira vez).
Quando receber a mensagem Initializing it… abra o seu browser no endereço local e porta 8080, http://localhost:8080/timereg
, se a porta 8080 estiver livre.
regards,

Criado 16 de janeiro de 2009
Ultima resposta 24 de jun. de 2010
Respostas 5
Participantes 4