部分代码 config部分
public void configRoute(Routes me) { me.add("/", DefaultController.class); }
DefaultController 部分
public class DefaultController extends Controller { public void index() { render("tools.jsp"); } public void add() { Map<String, Object> map=new HashMap<String, Object>(); map.put("username", getPara("username")); Test.dao.setAttrs(map).save(); redirect("/"); }
前台代码部分
tools.jsp
<a>
<form action="add" method="post"> <input name="username"/> <input type="submit"> </from>
然后再点击添加到add.jsp填写信息.提交就会报错.
报错信息为 提示当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'Test' 中的标识列插入显式值。
数据库表结构部分 sqlserver2008
CREATE TABLE Test( id INT IDENTITY(1,1) PRIMARY KEY, username VARCHAR(50) NOT NULL )
Test.dao.setAttrs(map).save();
改为
newTest().set("username",getPara("username")).save();
其实认真的看了手册就不会出现这样的问题 Model.dao只适用于查询修改和增加必须new感谢指导赞Test.dao.setAttrs(map).save();
改为
newTest().set("username",getPara("username")).save();
注意看下jfinal1.8第24页,最下方的红色文字。dao对象是全局共享的只能用来查询,不能用来承载数据版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。