Ajuda Struts2

4 respostas
S

Boa tarde galera, estou iniciando em Struts2 e estou apanhando =/ . Quero fazer site pro meu clan de TF2, sei que Struts2 é algo um pouco complexo para algo tão pequeno, mas eu quero muito aprender.

Estou utilizando Struts2 + Tomcat 6 + MySql e Eclipse WTP.

Gostaria de vincular um link do menu a uma Action, pesquisei e li a documentação do Struts2 e fiz de acordo, mas estou tento o seguinte erro:

type Exception report message description The server encountered an internal error () that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: org.apache.jasper.JasperException: Unable to load class for JSP org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:156) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:414) root cause

Essa é a estrutura do meu projeto:

[img]http://www.squishers.com/Projeto.JPG[/img]

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="true" />

<package name="jsp" namespace="/noticias" extends="struts-default">

<action name="NoticiasAction" class="com.squishers.actions.NoticiasAction">
<result name="SUCCESS">/jsp/noticias.jsp</result>
</action>

</package>
</struts>
noticias.jsp
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Squishers Clan - www.squihsers.com</title>
	<meta http-equiv="Page-Enter" content="blendTrans(Duration=0.5)">
	<link rel="stylesheet" href="../efeitos/estilo.css" type="text/css" />
</head>
<body>

<s:property value="mensagem"/>

</body>
</html>
menu.jsp
<a href="<s:url action='NoticiasAction'>" target="Principal"> Home</a><br />
NoticiasAction.java
package com.squishers.actions;

import com.opensymphony.xwork2.ActionSupport;

public class NoticiasAction extends ActionSupport {

	private static final long serialVersionUID = 1L;
	private String mensagem;

	public String execute() throws Exception {
		this.setMessage("Pagina de notícias");
		return "SUCCESS";
		}
	
	public String getMensagem() {
		return this.mensagem;
		}
	
	public void setMessage(final String message) {
		this.mensagem = message;
		}
	}

Podem me ajudar por favor?

Grato

4 Respostas

Zakim

Sempre posto esse link para aqueles que estão iniciando com Struts.

www.roseindia.net

la tem um punhado de exemplos sobre Struts1.x e 2

:stuck_out_tongue:

gugaa_df

Eu nao vi nenhum erro a princípio na sua aplicação.
Coloca aí o web.xml…

S
gugaa_df:
Eu nao vi nenhum erro a princípio na sua aplicação. Coloca aí o web.xml...
<?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>Squishers Clan - www.squishers.com</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.jsp</welcome-file>
    </welcome-file-list>

</web-app>

Obrigado pela ajuda!

G

Tenta assim:

menu.jsp

<a href="<s:url action="NoticiasAction" namespace="/noticias" />" target="Principal"> Home</a><br />

O que pude constatar que talvez tu estivesse com problema é q tu não fechou a tag de s:url e faltou o nomespace que tu
informou no package no struts.xml.
Tu pode clocar aspas duplas na tag s:url mesmo estando dentro de outras aspas duplas.

Tenta ai e fala pra gente oq deu.

Criado 7 de março de 2008
Ultima resposta 10 de mar. de 2008
Respostas 4
Participantes 4