Scripts não funcionam depois de passar por Action Struts2

2 respostas
reginaldo.mh

Olá Pessoal,

Estou com um probleminha, com os scripts em jsp que passam pelas Action do struts 2. Olhá só…

Tenho uma JSP com uma tag SCRIPT ,
se eu acesso a jsp diretamente o script roda sem problema nenhum, mas se é uma action do struts 2 que redireciona para essa mesma JSP o script não rola.

A Action é essa aqui:

public class AtividadeDetalharAction {
	Atividade atividade = new Atividade();

	@Action(value="atividadeDetalhar" ,results={
			@Result(name="ok", location="/agendaForm.jsp")})
		
	public String execute() {
		
		new AtividadeDAO().getAtividadeByCodigo(atividade);
		return "ok";
	}

	public Atividade getAtividade() {
		return atividade;
	}
}

E o JSP, coloquei só um alert pra exemplificar.

<%@taglib tagdir="/WEB-INF/tags" prefix="myTags" %>

<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"   pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />

<script>
alert("oi");
</script>

<h5>Nova Atividade</h5>
	<table border="0">
	<tr>
		<td>Titulo:</td>
		<td><input type="text" size="12" value="${atividade.titulo}" maxlength="20" id="titulo" class="required" name="Titulo"/></td>
	</tr>
	<tr>
		<td>Previsão:</td>
		<td><myTags:campoData id="dtPrevisao" /></td>
	</tr>
	<tr>
		<td colspan="3">Descrição: <br />
		<textarea rows="5" cols="30" id="descricao"  class="required" name="Descricao">${atividade.descricao}</textarea></td>
		
	</tr>
	<tr>
		<td>
			<input type="button" value="Gravar" id="btnGravar" onclick = "gravaAtividade();"/>
			<input type="button" value="Alterar" id="btnAlterar" onclick = "alteraAtividade();"/>
		</td>
	</tr>
</table>

Por favor me ajudem,
Valeu!

2 Respostas

OliveirakunJava

Vc por acaso está falando dos scripts em Javascript ou da EL do jsp(${atividade.titulo})?
Percebi que estão faltando várias tags no seu código, como as de abertura e encerramento do html por exemplo. Se o problema for no javascript, tenta fazer da seguinte forma:

<%@taglib tagdir="/WEB-INF/tags" prefix="myTags" %>  
  
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"   pageEncoding="ISO-8859-1"%>  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Formulario</title>
<script type="text/javascript">
function Hello(){
	alert("Hello");
}
</script>
</head>
<body onload="Hello()">
 <h5>Nova Atividade</h5>  
    <table border="0">  
    <tr>  
        <td>Titulo:</td>  
        <td><input type="text" size="12" value="${atividade.titulo}" maxlength="20" id="titulo" class="required" name="Titulo"/></td>  
    </tr>  
    <tr>  
        <td>Previsão:</td>  
        <td><myTags:campoData id="dtPrevisao" /></td>  
    </tr>  
    <tr>  
        <td colspan="3">Descrição: <br />  
        <textarea rows="5" cols="30" id="descricao"  class="required" name="Descricao">${atividade.descricao}</textarea></td>  
          
    </tr>  
    <tr>  
        <td>  
            <input type="button" value="Gravar" id="btnGravar" onclick = "gravaAtividade();"/>  
            <input type="button" value="Alterar" id="btnAlterar" onclick = "alteraAtividade();"/>  
        </td>  
    </tr>  
</table>  
</body>
</html>
R

Reginaldo, você conseguiu resolver esse problema. Outra coisa vc tem um projeto no google de controle de clientes Cli2011, teria como passar ele via dowload.

Att.
Muito Obrigado

Criado 3 de dezembro de 2010
Ultima resposta 22 de nov. de 2011
Respostas 2
Participantes 3