项目第四天(用户管理)
1:需要的表
这里一个用户对应多个用户职称附件,所有用户表和用户职称附件表是一个一对多的关系。
2:项目中配置hibernate一对多的关系
一对一端
(1)ElecUser.java
(2)ElecUser.hbm.xml
多的一端
(3)ElecUserFile.java
(4)ElecUserFile.hbm.xml
3:jquery的ajax实现二级联动
(1)页面效果:
(2)操作步骤:
第一步:引入struts整合json的插件包
第二步:在struts.xml中定义:
修改:
<package name="system" namespace="/system" extends="struts-default">
修改成
<package name="system" namespace="/system" extends="json-default">
在Action中添加:
<result name="findJctUnit" type="json"></result>
第三步:页面使用jquery的ajax调用二级联动的js
//ajax的二级联动,使用选择的所属单位,查询该所属单位下对应的单位名称列表
function findJctUnit(o){
//货物所属单位的文本内容
var jct = $(o).find("option:selected").text();
$.post("elecUserAction_findJctUnit.do",{
"jctID":jct},function(data,textStatus){
//先删除单位名称的下拉菜单,但是请选择要留下
$("#jctUnitID option").remove();
if(data!=null && data.length>0){
for(var i=0;i<data.length;i++){
var ddlCode = data[i].ddlCode;
var ddlName = data[i].ddlName;
//添加到单位名称的下拉菜单中
var $option = $("<option></option>");
$option.attr("value",ddlCode);
$option.text(ddlName);
$("#jctUnitID").append($option);
}
}
});
}
第四步:在Action中定义,这里要将返回的List集合放置到栈顶,struts2将其转换成json数据:例如:
public String findJctUnit(){
//1:传递所属单位对应的名称,以名称作为条件,查询数据字典,返回List<ElecSystemDDL>
String jctID = elecUser.getJctID();
List<ElecSystemDDL> list = elecSystemDDLService.findSystemDDLListByKeyword(jctID);
//2:将List转化成json数据,并返回到页面上
//将list压入到struts2值栈的栈顶,struts2的插件包&#x