最近,在研究nutz,非常好用的框架!我花了一天的時間,按照wendal的視頻做了一個簡單的登陸功能,在類MainModule中的註解@Ok(“raw”)時候,訪問http://localhost:8080/nutz/usr/ping方法返回正常,
我的工程目錄
MainModule類
運行後的結果
A
但是我在使用json註解時候,就出現
注意,這是IE瀏覽器,IE瀏覽器,IE瀏覽器,重要事情說三遍!
這是爲什麼呢,而且控制檯也報錯
這是類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();
}
}
最後,在nutz社區請教了一下wendal大神,大神秒回覆,在類MainSetup的init方法開始的地方,加入一句 UTF8JsonView.CT= "text/plain";,再重新訪問方法,一切OK!
package net.zosef.nutz;
import net.zosef.pojo.User;
import org.nutz.dao.Dao;
import org.nutz.dao.entity.annotation.Table;
import org.nutz.log.Log;
import org.nutz.log.Logs;
import org.nutz.mvc.NutConfig;
import org.nutz.mvc.Setup;
import org.nutz.mvc.view.UTF8JsonView;
import org.nutz.resource.Scans;
public class MainSetup implements Setup {
private static final Log log = Logs.get();
public void init(NutConfig config) {
log.debug("config ioc== " + config.getIoc());
UTF8JsonView.CT = "text/plain";
Dao dao = config.getIoc().get(Dao.class);
for (Class<?> klass : Scans.me().scanPackage("net.zosef.pojo")){
if (null != klass.getAnnotation(Table.class))
dao.create(klass, false);
}
if (dao.count(User.class) == 0) {
User admin = new User();
admin.setName("admin");
admin.setPasswd("123456");
dao.insert(admin);
}
}
public void destroy(NutConfig config) {
}
}