JFinal 提交问题第一次正常提交.再到这个页面.填写信息.再提交就会报错

ecp 发布于 2014/11/26 16:16
阅读 204
收藏 1

部分代码 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 href="add.jsp">添加</a>



add.jsp部分



<form action="add" method="post">
     <input name="username"/>
     <input type="submit">
</from>



当部署完成后.从tools.jsp点击链接到add.jsp添加完成后.(无报错) 查询数据库也正常添加好了,然后页面跳转到tools.jsp.


然后再点击添加到add.jsp填写信息.提交就会报错.

报错信息为     提示当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'Test' 中的标识列插入显式值。

数据库表结构部分    sqlserver2008


CREATE TABLE Test(
	id INT IDENTITY(1,1) PRIMARY KEY,
	username VARCHAR(50) NOT NULL
)



明明没有给id赋值.新手初学.求指导.




加载中
1
ecp
ecp

引用来自“陈国治”的评论

 Test.dao.setAttrs(map).save();

改为

new Test().set("username",getPara("username")).save();

感谢回复.已经解决.new Test().setAttrs(map).save();这样子就好了

new Test().set("username",getPara("username")).save();   如果字段少的话.这样子写起来还行.多的话.我个人感觉用map看的更清楚些

1
本人纯属虚构
本人纯属虚构
其实认真的看了手册就不会出现这样的问题  Model.dao 只适用于查询 修改和增加必须new
ecp
ecp
感谢指导 赞
0
枫林茵然
枫林茵然

 Test.dao.setAttrs(map).save();

改为

new Test().set("username",getPara("username")).save();

0
JFinal
JFinal
注意看下 jfinal 1.8 第 24 页,最下方的红色文字。 dao 对象是全局共享的只能用来查询,不能用来承载数据
返回顶部
顶部