关于hibernate中关联关系的提交表单问题
就是这样的,我的Student与Adress是many-to-one关系,与Course是many-to-many关系,都是单向的。
然后我想在jsp页面提交一个表单
问题就是出生地点以及选修科目代码行我不知道标签中的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)
初学没多久,请大神们帮个忙。
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)
初学没多久,请大神们帮个忙。
...全文
相关推荐
hibernate_formToModelConvertor
它支持事务管理、缓存机制、一对多、多对一、一对多等复杂的关联关系映射。2. 表单数据处理:在Web应用中,用户通常通过表单提交数据。这些数据以键值对的形式存在,例如HTTP请求参数。
ssh2的表单数据添加存储展示
在多表单数据存储中,Hibernate可以处理复杂的关联关系,例如一对多、多对一、多对多等,使得数据操作更加便捷。MySQL是常用的开源关系型数据库,适合中小规模应用,与Hibernate配合良好。
Struts,Hibernate,Spring经典面试题
- **自动提交模式:** Hibernate 默认采用非自动提交模式,这意味着每次数据库操作都需要在事务的上下文中进行。#### 二、Struts 相关问题**1. Struts 架构是如何工作的?
java Hibernate 一对多自身关联问题
如果在处理表单提交时,FormBean中的数据没有正确清理或更新,那么这些数据会在下一次请求中仍然存在,可能会导致意外的数据库操作。
struts+spring+hibernate资料
如何优化 Hibernate- **合理设计关联关系**:尽量使用双向一对多关联,避免单向一对多。- **灵活使用关联类型**:适当采用多对一替代一对一。


Web 开发
