[RESOLVIDO] Problema Struts2 DOJO

7 respostas
bokerao

Olá pessoal, estou tentando carregar uma JSP em uma div após clicar num botão submit (mantendo os dados do form para logicamente trabalhar em cima deles na action), mas nos testes aqui a action é chamada mas em vez da jsp referenciada no result ser carregada na dic ela é carrega numa nova pagina.
Segue o código:

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<s:form action="formGetEmpresa">  
   <sx:submit targets="resultado" formId="formGetEmpresa" type="input" showLoadingText="false"/>  
</s:form>  
<div id="resultado">  
</div>

Alguem tem alguma ideia do que pode estar sendo feito errado?

7 Respostas

jyoshiriro

Deve usar a tag sx:head/ obrigatoriamente!

Porém, uma dica:
o Dojo plugin É UMA BOMBA. Prefira o Jquery Plugin (http://code.google.com/p/struts2-jquery/) que é muito parecido no modo de udar porém tem performance muuuuuuuito melhor!

Outro problema TREMENDO do Dojo plugin é que el descarta todos os javascripts de sua JSP o que é terrível! Já o Jquery plugin não.

bokerao

Beleza, usei o sx:head/ e mesmo assim nada.

Vou ver a possibilidade de usar o plugin do jquery, mas mesmo assim nao deveria funcionar com o DOJO!?

jyoshiriro

Além do sx:head tem que ter o <s:head> também :wink:

bokerao

Nada ainda… continua carregando a lista de empresas em outra pagina. A declaração do sx:head e <s:head> está na pg principal!

Alguma ideia??

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sx" uri="/struts-dojo-tags" %>
<br/>
<s:form id="formGetEmpresa" name="formGetEmpresa" action="listarEmpresaCredenciada">
<table>
	<thead>
		<tr>
			<th width="10%" style="text-align: center;"><input type="checkbox"
				name="selall" id="selall" title="Marcar / Desmarcar Todos"
				onclick="checkAll(document.formGetEmpresa);";>
			</th>
			<th width="15%" style="text-align: left;">Ordem</th>
			<th width="25%" style="text-align: left;">Fabric.</th>
			<th width="35%" style="text-align: left;">Modelo</th>
			<th style="text-align: left;">Marca</th>
	</thead>
	<tbody>		
		<tr>
			<td colspan="5" height="10"></td>	
		</tr>				
			<s:iterator value="equipamentos" id="e">
				<tr>
					<td style="text-align: center;"><s:checkbox id="equipamentos"
						name="equipamentos" fieldValue="%{id}" value="false">
					</s:checkbox></td>
					<td><s:property value="ordem" /></td>
					<td><s:property value="fabricacao" /></td>
					<td><s:property value="modelo" /></td>
					<td><s:property value="marca" /></td>
				</tr>
			</s:iterator>
		<tr>
			<td colspan="5" height="10"></td>	
		</tr>
		<tr>
			<td style="text-align: left;" colspan="5">
			<sx:submit formId="formGetEmpresa" title="Clique para consultar as empresas técnicas" value="Consultar Empresas Credenciadas" targets="divEmpresasTecnicas"/>
			</td>
		</tr>		
	</tbody>
</table>
</s:form>
<sx:div id="divEmpresasTecnicas"></sx:div>
jyoshiriro

No IE quando só te tem 1 campo de texto, dá esse bug. Para contorná-lo eu fazia a “pog” de criar um campo invisivel via CSS dai funcionava.

Outra coisa: se seu sx:submit vai só submeter o form no qual ele está dentro, não precisa do atributo “formId”. Só se usa isso quando o botão fica fora do form, o que não é o caso.

bokerao

Blz… resolvi usando o plugin jquery. Dojo não foi de jeito nenhum!

jyoshiriro

Excelente escolha!

ele tens uns bugzinhos mas o cara vive corrigindo e lançando novas versões. Nem se compara com o do (N)Dojo :stuck_out_tongue:

Criado 23 de novembro de 2009
Ultima resposta 24 de nov. de 2009
Respostas 7
Participantes 2