Será que dá pra fazer combos aninhados com struts?
Tipo, ao selecionar um NetMeter, irá aparecer os sistemas disponíveis para esse NetMeter.
A mesma coisa acontece com os Módulos.
Tem como fazer isso com Struts ou só com Ajax mesmo?
Tive dificuldade com Ajax.

Combos struts
5 Respostas
da pra fazer com DWR tbm e com struts integrando ajax.
fora isso desconheço.
É que eu tive dificuldade com DWR.
Não conseguia exibir os dados do banco.
Será que vc tem algum exemplo com Struts e Ajax?
Obrigado
da pra fazer usando javascript também…
Vcs tem algum exemplo que não seja com DWR?
Opa cara, eu na minha aplicação aqui usei o JQuery, estou utilizando Struts2 e funcionou corretamente.
Basta fazer o download do JS http://jquery.com/
O resto é bem simples, vou mostrar rapidamente um caso que usei:
No meu caso eu seleciono uma doença e no outro campo é mostrado os detalhes…no seu iria precisar algumas coisas no retorno
O combobox:
<s:select id="diseaseselect" emptyOption="true" list="diseases" name="appointment.disease.id" listKey="id" onchange="obterDoenca()" listValue="name" theme="simple" cssStyle="width:200px;"></s:select>
Agora a função JS obterDoenca():
function obterDoenca(){
var _disease = $('#diseaseselect option:selected').val();
$.ajax(
{
type: "POST",
url: "/Eyesys/diseaseajax.action",
data: "id=" + _disease,
dataType: "html",
success: function(html)
{
var results = html.split("|");
$('#diseaseDetails').html(results[0]);
$('#diseaseRecipe').html(results[1]);
},
error: function(html) {
}
});
}
No meu caso eu chamo a action
url: “/Eyesys/diseaseajax.action”que retorna para uma página com os detalhes da doença e a receita para ela separados por |
Nessa parte:
var results = html.split("|");
O
htmlé o resultado(ou seja minha própria), o split é do próprio JQuery. Nesse momento tenho um array com o que quero e no meu caso coloco ele nos campos que desejo.
$('#diseaseDetails').html(results[0]);
$('#diseaseRecipe').html(results[1]);
Sendo que diseaseDetails e diseaseRecipe são os id’s dos meus campos…
Espero ter ajudado um pouco…a documentação do JQuery pode ajudar mais do que eu!
=D