2006-11-04

struts实现下拉框多级联动

关键字: struts
以下方法是通过提交到服务器的方法,页面需要刷新

页面代码:
<script language="JavaScript">
<!--

function getCity(province)
{
form = province.form;
form.action = "/WorkLog/myInfo.do?method=changeProvince&provinceId="+province.value;
form.submit();
}
//-->
</script>
<html:html lang="true">
<head>

</head>
<body>
<jsp:useBean id="listProvice" scope="request" type="java.util.List"></jsp:useBean>
<jsp:useBean id="listCity" scope="request" type="java.util.List"></jsp:useBean>
<html:form action="/myInfo.do?method=edit">
所在地区:<html:select property="provinceId" onchange="getCity(this)">
<logic:iterate id="listprovice" name="listProvice">
<html:option value="${listprovice.provinceId}">
<bean:write name="listprovice" property="provinceName" />
</html:option>
</logic:iterate>
</html:select>省
<html:select property="cityId">
<logic:iterate id="listcity" name="listCity">
<html:option value="${listcity.cityId}">
<bean:write name="listcity" property="cityName" />
</html:option>
</logic:iterate>
</html:select>市
<html:submit value="提交"></html:submit><html:reset value="重填"></html:reset>
</html:form>
</body>
</html:html>





Action代码:
public class MyInfoAction extends DispatchAction
{

//这是从别的页面连接到修改页面的方法,在别的页面中加入连接:<html:link page="/myInfo.do?method=toInfo">个人信息</html:link>

public ActionForward toInfo(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UserForm userForm = (UserForm)request.getSession().getAttribute("userForm");
userForm.setStrUserBirsday(userForm.getUserBirsday().toLocaleString());
userForm.setDepartmentId(userForm.getDepartment().getDepartmentId());
userForm.setCityId(userForm.getCity().getCityId());
userForm.setIndustryId(userForm.getIndustry().getIndustryId());
userForm.setDutyId(userForm.getDuty().getDutyId());
userForm.setProvinceId(userForm.getProvince().getProvinceId());
userForm.setXueliId(userForm.getXueli().getXueliId());

List listIndustry = IndustryBE.queryAllIndustry();
List listXueli = XueliBE.queryAllXueli();
List listDuty = DutyBE.queryAllDuty();
List listProvice = ProviceBE.queryAllProvice();
List listCity = CityBE.queryAllCityByProvinceId(userForm.getProvince().getProvinceId());
request.setAttribute("listCity", listCity);
request.setAttribute("listProvice", listProvice);
request.setAttribute("listDuty", listDuty);
request.setAttribute("listXueli", listXueli);
request.setAttribute("listIndustry", listIndustry);
request.setAttribute("userForm", userForm);
return mapping.findForward("toInfo");
}



//这是处理修改页面当省选择改变时执行的代码,页面中连接在javascript中,见上面的页面代码
public ActionForward changeProvince(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String provinceId = request.getParameter("provinceId");
UserForm userForm = (UserForm)form;

List listIndustry = IndustryBE.queryAllIndustry();
List listXueli = XueliBE.queryAllXueli();
List listDuty = DutyBE.queryAllDuty();
List listProvice = ProviceBE.queryAllProvice();
List listCity = CityBE.queryAllCityByProvinceId(userForm.getProvinceId());
request.setAttribute("listCity", listCity);
request.setAttribute("listProvice", listProvice);
request.setAttribute("listDuty", listDuty);
request.setAttribute("listXueli", listXueli);
request.setAttribute("listIndustry", listIndustry);
request.setAttribute("userForm", userForm);
return mapping.findForward("changeProvince");
}
}
评论
发表评论

您还没有登录,请登录后发表评论

唐@朝
  • 浏览: 30411 次
  • 性别: Icon_minigender_1
  • 来自: 在深圳的陕西仔
  • 详细资料
搜索本博客
存档
最新评论