我建了两个pojo——people,group
两表many-to-one 连接
group作为people的一个属性
当进入people保存页面时,通过dwr查询全部group并把结果显示在select标签上,至此一切正常。
但当我输入完信息添加一个新people时,保存的people中没有group的相关信息,也就是说页面提交给后台信息,但后台没有把group信息取走,而是把它当成null处理,其它属性可以正常存储。清问是为什么?代码:
//部分代码省略
pojo——public class Group {
private Integer groid;
private String groname;
}
public class People {
private Integer peoid;
private String peoname;
private Date birthday;
private Group group;
}dwr.xml——<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"
"http://getahead.org/dwr/dwr20.dtd"><dwr>
<allow>
<create javascript="jsGroup" creator="spring">
<param name="beanName" value="groupManager"></param>
<include method="findAll"/>
</create> //个人感觉是这里周围错了
<convert match="com.zh.pojo.Group" converter="bean"></convert>
<convert match="com.zh.pojo.People" converter="bean">
<param name="exclude" value="com.zh.pojo.Group"></param>
</convert>
</allow>
</dwr>applicationContext.xml—— <bean id="peopleManager" class="com.zh.service.PeopleManager"></bean>
<bean id="groupManager" class="com.zh.service.GroupManager"></bean>jsp页面——<script type='text/javascript' src='/zhlx/dwr/interface/jsGroup.js'></script>
<script type='text/javascript' src='/zhlx/dwr/engine.js'></script>
<script type='text/javascript' src='/zhlx/dwr/util.js'></script>
<script type="text/javascript">
function init(){
jsGroup.findAll(cb);
}
function cb(data){
DWRUtil.addOptions("group",data,"groid","groname");
}
</script>
</head>
<body onload="init()">
<html:form action="/people_save">
birthday : <html:text property="birthday" /> <br />
peoname : <html:text property="peoname" /> <br />
group : <html:select property="group" styleId="group"></html:select>
<br />
<html:submit />
<html:cancel />
</html:form>
</body>
两表many-to-one 连接
group作为people的一个属性
当进入people保存页面时,通过dwr查询全部group并把结果显示在select标签上,至此一切正常。
但当我输入完信息添加一个新people时,保存的people中没有group的相关信息,也就是说页面提交给后台信息,但后台没有把group信息取走,而是把它当成null处理,其它属性可以正常存储。清问是为什么?代码:
//部分代码省略
pojo——public class Group {
private Integer groid;
private String groname;
}
public class People {
private Integer peoid;
private String peoname;
private Date birthday;
private Group group;
}dwr.xml——<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC
"-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN"
"http://getahead.org/dwr/dwr20.dtd"><dwr>
<allow>
<create javascript="jsGroup" creator="spring">
<param name="beanName" value="groupManager"></param>
<include method="findAll"/>
</create> //个人感觉是这里周围错了
<convert match="com.zh.pojo.Group" converter="bean"></convert>
<convert match="com.zh.pojo.People" converter="bean">
<param name="exclude" value="com.zh.pojo.Group"></param>
</convert>
</allow>
</dwr>applicationContext.xml—— <bean id="peopleManager" class="com.zh.service.PeopleManager"></bean>
<bean id="groupManager" class="com.zh.service.GroupManager"></bean>jsp页面——<script type='text/javascript' src='/zhlx/dwr/interface/jsGroup.js'></script>
<script type='text/javascript' src='/zhlx/dwr/engine.js'></script>
<script type='text/javascript' src='/zhlx/dwr/util.js'></script>
<script type="text/javascript">
function init(){
jsGroup.findAll(cb);
}
function cb(data){
DWRUtil.addOptions("group",data,"groid","groname");
}
</script>
</head>
<body onload="init()">
<html:form action="/people_save">
birthday : <html:text property="birthday" /> <br />
peoname : <html:text property="peoname" /> <br />
group : <html:select property="group" styleId="group"></html:select>
<br />
<html:submit />
<html:cancel />
</html:form>
</body>
DWR方法里面函数还没贴出来。。郁闷
List<Group> list=new ArrayList<Group>();
list.add(new Group(1,"甲"));
list.add(new Group(2,"乙"));
list.add(new Group(3,"丙"));
return list;
}
应该不是这些问题,主要帮我看看配置文件和jsp