No sé si esto servirá igual te orienta, porque yo me estoy iniciando y no sé irá bien la cosa pero el caso es que hace lo que tú quieres bueno que es con struts :
mi combo municipios carga el de codigo postal
Código HTML:
<html:select property="municipio" onchange="javascript:cargarcodigopostal();" >
<html:optionsCollection property="municipios" value="codigo" label="nombre" />
</html:select>
<html:select property="codigopostal">
<html:optionsCollection property="codigospostales" value="codigo" label="nombre" />
</html:select>
funcion javascript
:
Código PHP:
function cargarcodigopostal(){
document.forms[0].action="codigopostalproveedores.do";
document.forms[0].submit();
}
struts-config.xml
Código PHP:
<action path="/codigopostalproveedores" input="/paginas.proveedores.jsp"
type="com.Action.ProveedoresCodigoAction" name="proveedoresForm"
scope="session" unknown="false" validate="false">
<forward name="exito" path="/paginas/proveedores.jsp"></forward>
</action>
y mi Action, he de dedir que en vez de obtener los códigos en una consulta de base de datos, tenemos un servicio web porque hay datos centralizados, pero con cambiar lo del servicio por la consulta será suficiente
Código PHP:
public class ProveedoresCodigoAction extends Action{
public ActionForward execute (ActionMapping mapping,ActionForm form,
HttpServletRequest request,
HttpServletResponse response)throws Exception
{
ProveedoresForm proveedoresForm= (ProveedoresForm) form;
long idmunicipio=proveedoresForm.getMunicipio();
//servicio web
ClienteCodigopostal codigopostalWs=new ClienteCodigopostal();
proveedoresForm.setCodigospostales(codigopostalWs.getCodigopostalfiltro(idmunicipio));
return (mapping.findForward("exito"));
}
}
y hasta aquí llego.. espero que te sirva de algo y suerte