关于hibernate中关联关系的提交表单问题

qq_23686481 qq_23686481 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
就是这样的,我的Student与Adress是many-to-one关系,与Course是many-to-many关系,都是单向的。

public class Student {
private Integer sid;
private String scname;
private String sename;
private Date birthday;
private Address address;
private Set<Course> courses=new HashSet<Course>();
get,set方法省略
}

然后我想在jsp页面提交一个表单

<body>
<s:form action="addStudent" namespace="/" method="post" >
<table>
<tr><td>学生编号:<s:textfield name="student.sid"/></td></tr>
<tr><td>学生中文名:<s:textfield name="student.scname"/></td></tr>
</tr><td>学生英文名:<s:textfield name="student.sename"/></td></tr>
</tr><td>出生日期:<sx:datetimepicker name="student.birthday" displayFormat="yyyy-MM-dd" toggleType="explode" toggleDuration="400"/></td></tr>
</tr><td>出生地点:<s:select name="address" list="addresslist" listKey="aid" listValue="aname" /></td></tr>
</tr><td>选修科目:<s:checkboxlist name="student.courses" list="courselist" listKey="cid" listValue="cname" /></td></tr>
<td align="center"><input type="submit" value="增加" />  <input type="reset" value="重置" /></td>
</table>
</s:form>
</body>

问题就是出生地点以及选修科目代码行我不知道标签中的name属性究竟应该写什么,应该是student.address 还是直接address,然后在action中get出来再set到Address对象中再set到Student对象中?而且不管我写什么都有一个问题就是报错误:
警告: Error setting expression 'address' with value '[Ljava.lang.String;@5549f0e'
ognl.MethodFailedException: Method "setAddress" failed for object com.bean.web.action.StudentAction@41c17a8c [java.lang.NoSuchMethodException: com.bean.web.action.StudentAction.setAddress([Ljava.lang.String;)]
at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:1285)
初学没多久,请大神们帮个忙。
...全文

相关推荐

评论
收藏 已收藏
分享
返回顶部
qq_23686481
Web 开发 81,108 成员 341,721 内容