NutzCN Logo
问答 关于nutz的EL默认表达式
发布于 2914天前 作者 老司机 2245 次浏览 复制 上一个帖子 下一个帖子
标签:

后台代码

        @At
	@POST
	@Ok("jsp:jsp.register")
	public void register(@Param("username") String username, @Param("password") String password, HttpSession session) {
		User user = userService.addUser(username, password);
		if (user != null) {
			session.setAttribute("user", user);
		}
		System.out.println(session.getAttribute("user"));
	}

前台jstl

<c:choose>
		<c:when test="${!empty session.user}">
			<c:out value="${session.user.username}"></c:out>
		</c:when>
		<c:otherwise>
			<form action="${base}/user/register" method="post">
				<input type="text" name="username"> <input type="password"
					name="password"> <input type="submit" value="register">
			</form>
		</c:otherwise>
	</c:choose>

debug后台session有值了,但是走不到${!empty session.user},是jstl错了吗?还有${obj}是指代的什么???

9 回复

不是sessionScope.user吗

搞定了……那${obj}是代表什么?

@wendal 差个题外话,怎么要在@ColDefine里面规定这个字段唯一(这个字段并非主键),而且我发现@Name值是非空并非唯一

@qq_c1bab051 obj是入口方法的返回值

@Name是主键啊,要是nutz建的表,肯定带唯一索引

@wendal 有id还有name 注解的情况下name 并不唯一……

来自炫酷的 NutzCN

@qq_c1bab051 不会啊,啥数据库?贴建表sql及日志看看

@wendal 日志是对的,但是往里加数据的时候还是可以加,用的MySQL

来自炫酷的 NutzCN

@qq_c1bab051 如果sql是对的,那怎么还能插入?这不符合逻辑

例如nutzcn的User表

CREATE TABLE `t_user` (
  `id` int(32) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `passwd` varchar(128) DEFAULT NULL,
  `salt` varchar(50) DEFAULT NULL,
  `locked` tinyint(1) DEFAULT NULL,
  `ct` datetime DEFAULT NULL,
  `ut` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

name是有unique key索引的,怎么能重复插入

添加回复
请先登陆
回到顶部