NutzCN Logo
问答 nutz简单登陆使用注解@Ok("json")问题
发布于 270天前 作者 qq_29645c1d 170 次浏览 复制 上一个帖子 下一个帖子
标签: ie下载 json

大神,你好!我按照你的视频做了一个简单的登陆功能,在类MainModule中的注解@Ok(“raw”)时候,访问http://localhost:8080/nutz/usr/ping方法返回正常,
我的工程目录

MainModule类

运行后的结果

但是我在使用json注解时候,就出现

这是为什么呢,而且控制台也报错

这是类UserModule
package net.zosef.nutz.module;

import java.util.Date;
import javax.servlet.http.HttpSession;
import net.zosef.pojo.User;
import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.lang.Strings;
import org.nutz.log.Log;
import org.nutz.log.Logs;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Attr;
import org.nutz.mvc.annotation.Param;

@IocBean
@At("/usr")
public class UserModule {
private static final Log log = Logs.get();

@Inject
private Dao dao;    
@At
public boolean login(@Param("name")String name, 
              @Param("passwd")String passwd, 
              HttpSession session){
    if (Strings.isBlank(name) || Strings.isBlank(passwd)) {
       return false;
    }

    name = name.trim().intern();
    passwd = passwd.trim().intern();

User user = dao.fetch(User.class, Cnd.where("name","=",name).and("passwd","=",passwd));
if (user == null)
return false;
session.setAttribute("me", user);
return true;
}

@At
public void logout(HttpSession session){
    session.invalidate();
}

@At
public User me(@Attr("me")User user) {
    return user;
}

@At("/ping")
public Object ping(){
    log.debug("log==="+dao);
    System.out.println("ping 方法");
    return new Date();
}

}

9 回复

唉,没办法插入图片啊!

那起码按一下'插入代码或日志片段"的按钮吧?

另外, 视频已经很老了, 请看nutzbook(页面上面的新手入门)

@Modules(scanPackage=true)
@Ok("json")
@Fail("json")
@IocBy(type=ComboIocProvider.class,args={
"*org.nutz.ioc.loader.json.JsonLoader","ioc/",
"*org.nutz.ioc.loader.annotation.AnnotationIocLoader","net.zosef.nutz"
})
@SetupBy(value = MainSetup.class)
public class MainModule {

}

就会弹出文件下载的提示框,并且后台报

16-12-28 16:25:20.953 DEBUG [http-8080-2] Found mapping for [GET] path=/usr/ping : UserModule.ping(UserModule.java:59)
16-12-28 16:25:20.953 DEBUG [http-8080-2] Get 'userModule'<class net.zosef.nutz.module.UserModule>
16-12-28 16:25:20.953 DEBUG [http-8080-2] >> Load definition name=userModule
16-12-28 16:25:20.953 DEBUG [http-8080-2] Found IocObject(userModule) in AnnotationIocLoader(packages=[net.zosef.nutz])
16-12-28 16:25:20.968 DEBUG [http-8080-2] >> Make...'userModule'<class net.zosef.nutz.module.UserModule>
16-12-28 16:25:20.968 DEBUG [http-8080-2] Load class net.zosef.nutz.module.UserModule without AOP
16-12-28 16:25:20.968 DEBUG [http-8080-2] Save object 'userModule' to [app]
16-12-28 16:25:20.968 DEBUG [http-8080-2] Get 'dao'<interface org.nutz.dao.Dao>
16-12-28 16:25:20.968 DEBUG [http-8080-2] log===org.nutz.dao.impl.NutDao@feecca

好的,谢谢大神,我的开发环境还是很老的,没有办法搭建最新版的!

用ie测试的???

在MainSetup的init方法开始的地方,加入一句

UTF8JsonView.CT = "text/plain";

是的,用的IE浏览器,好的我试试,谢谢!

好了,大神,点1000个赞!!

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