Chamar Action via Javascript

Boa Tarde a Todos,

A minha dúvida é a seguinte como eu posso chamar uma action do struts via JavaScript. Porque está situação.

Eu tenho uma classe que deve gravar informações em um Cartão do Tipo Smartcard, mas após está operação. A classe que gravou a informação chama um Javascript , que terá como objetivo chamar uma determinada action.

Minha dúvida é como criar uma função Javascript que chame uma action.

Vitor Hugo Brito de Oliveira

Não sei se isso irá funcionar , pelo que entendi no seu post


function action() 
{
      var form = document.forms[0];
      form.action = "SuaAction.do";
      form.acao.value = "sua acao Name";
      form.submit();
}

Com a sua resposta fiquei pensando em uma outra situação , eu consigo apartir de uma classe , chamar uma action do struts.

Exemplo:

Classe Abc {
  // Invocar a action SalvarAction
}

Classe SalvarAction extends Action {
   // Salvar o conteudo necessario
}

E como eu consigo fazer isto.

Se classe ABC extender da Action é possivel sim …

[quote=hugov]Com a sua resposta fiquei pensando em uma outra situação , eu consigo apartir de uma classe , chamar uma action do struts.

Exemplo:

Classe Abc {
  // Invocar a action SalvarAction
}

Classe SalvarAction extends Action {
   // Salvar o conteudo necessario
}

E como eu consigo fazer isto.[/quote]

É necessário que Abc tbm seja uma Action, dessa forma basta um forward de Abc para a SalvarAction

[quote=ramilani12]Não sei se isso irá funcionar , pelo que entendi no seu post

[code]

function action()
{
var form = document.forms[0];
form.action = “SuaAction.do”;
form.acao.value = “sua acao Name”;
form.submit();
}
[/code][/quote]

Olá!

Estive procurando nos fóruns como chamar um método java através de uma função javascript.
Tentei usar o código acima e parece que deu certo (mais ou menos certo ), mas toda hora que carrega a pagina essa função é chamada sozinha, e após a chamada dessa função a pagina para de carregar não mostrando o seu conteúdo

alguem pode me dizer porque?

ai vai a página …

<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:s="http://jboss.com/products/seam/taglib"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:rich="http://richfaces.org/rich"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:trh="http://myfaces.apache.org/trinidad/html"
	xmlns:tr="http://myfaces.apache.org/trinidad"
        template="../layout/template2.xhtml">
	<ui:define name="body">

		<script type="text/javascript">
 		function action()   
   			{  
    			var form = document.forms[0]; 
    			alert ("Oi meu"); 
    			form.action = "#{tabedPage.download()}";  
    			form.submit();  
    		}  
		</script>

		<link href="../stylesheet/theme.css" rel="stylesheet" type="text/css" />
		
                <h:form id="Form">

                         <!-- Conteúdo do form -->
       
                </h:form>

       </ui:define>
</ui:composition>

Isso não está desnecessariamente complicado?

Uma vez que você utilize form.submit() dentro do seu JavaScript, basta que o parâmetro action do form contenha um endereço válido da aplicação struts… contexto/aplicacao/acao.do?method=nomeMetodo

Acontece q eu não estou usando Struts.
Estou usando o Seam.

O que eu quero exatamente é chcamar essa função javascript quando eu clicar em um botão, e por sua vez o javascript chamar o método da minha classe java.
O problema é que logo ao carregar a página o javascript é chamado.
Eu quero que ele seja chamado só quando eu clicar no botão.
Não sei porque ele esta sendo chamado sozinho.

Experimenta mudar o nome da função JavaScript, de action para algum outro nome…

Sei lá se de repente por algum padrão a função action está sendo chamada automaticamente…

Só um chutômetro, e já que é SEAM, que eu não domino…

saída rápida pela esquerda

eu to querendo chamar um frame q executa uma assao num banco de dados so q ele ta em java se nao me engano esta salvo em .form …

como fasso pra chamar ele em html ???

quem puder me salva ai