1.数据库中的表名是attrgroup 其中的列是id int(11),name varchar(20) utf8_general_ci 默认:无
2.Model是
public class AttrGroup extends Model<AttrGroup>{ public static final AttrGroup dao=new AttrGroup(); }3.jfinal config里是
arp.addMapping("attrgroup", AttrGroup.class);4.controller里是
AttrGroup attrGroup=getModel(AttrGroup.class);
5.html页面写的是
<input type="text" name="attrgroup.name" />
执行后console端输出Parameter : attrgroup.name=qqq
但是报错说Field 'name' doesn't have a default value
猜测可能是getModel报错,于是使用
System.out.println(attrGroup.getStr("name"));结果输出的确实是null
我详细查了下,从html到jfinal config class到model这个attrGroup我应该没写错啊。实在搞不清楚什么原因了。
P.S.后来我把controller里的
AttrGroup attrGroup=getModel(AttrGroup.class);换成了
AttrGroup attrGroup=getModel(AttrGroup.class,"attrgroup");
能正常执行成功。但是我还是奇怪,为什么上边的那个不对呢?
因为你命名的“attrgroup”不是以驼峰命名法,JFinal无法自动将它匹配到AttrGroup上。
有两个方法:
1.将attrgroup改为驼峰命名attrGroup。
2.getModel中指定自属性名,getMode(AttrGroup.class, "attrgroup"),将非驼峰命名attrGroup。 ######哦 好像还真是这里 忽略了这件事了。谢谢
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。