小编T.G*_*T.G的帖子

@autowired在静态类中

这是一个带有Hibernate的Spring MVC项目.我正在尝试创建一个Logger类,负责将日志输入数据库.其他类只调用具有一些属性的正确方法,这个类应该做所有的魔术.本质上它应该是一个具有静态方法的类,但这会导致autoiering dao对象出现问题.

public class StatisticLogger {
    @Autowired
    static Dao dao;
    public static void AddLoginEvent(LogStatisticBean user){
        //TODO code it god damn it
    }
    public static void AddDocumentEvent(LogStatisticBean user, Document document, DocumentActionFlags actionPerformed){
        //TODO code it god damn it
    }
    public static void addErrorLog(Exception e, String page,  HashMap<String, Object> parameters){
        ExceptionLogBean elb=new ExceptionLogBean();
        elb.setStuntDescription(e);
        elb.setSourcePage(page);
        elb.setParameters(parameters);
        if(dao!=null){ //BUT DAO IS NULL
            dao.saveOrUpdateEntity(elb);
    }
}
Run Code Online (Sandbox Code Playgroud)

怎么做对了?我该怎么做才能使dao对象为null?我知道我可以将它作为方法参数传递,但这不是很好.我猜测autowired无法在静态对象上工作,因为它们是为早期创建的,所以尚未创建自动维护机制.

spring hibernate spring-mvc autowired static-class

21
推荐指数
2
解决办法
4万
查看次数

无法访问带有修饰符"public final"的java.util.HashMap $ Entry

我的问题是,我的应用程序在Tomcat服务器上本地运行良好,但在安装了glassfish的服务器上抛出错误.整个问题是我在JSTL中迭代查看HashMap.服务器抛出如下堆栈:

Servlet.service() for servlet jsp threw exception java.lang.IllegalAccessException:
Class javax.el.BeanELResolver can not access a member of class java.util.HashMap$Entry with modifiers "public final" 
at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:95) 
at java.lang.reflect.AccessibleObject.slowCheckMemberAccess(AccessibleObject.java:261) 
at java.lang.reflect.AccessibleObject.checkAccess(AccessibleObject.java:253) 
Run Code Online (Sandbox Code Playgroud)

问题是由代码引起的:

<c:forEach items="${element.getPreparedParameters()}" var="parametr" varStatus="j">
    documents["${i.index}"]["param"]=new Array();
    documents["${i.index}"]["param"]["key"] = "${parametr.getKey()}";
    documents["${i.index}"]["param"]["value"] = "${parametr.getValue()}";
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

哪里有element.getPreparedParameters()回报HashMap.

我怎样才能使它工作?

java glassfish hashmap

12
推荐指数
1
解决办法
4534
查看次数

jQuery验证输入类型号

我正在尝试使用jQuery设置函数onFocusOut事件,如:

$(':number').keypress(function (evt){
    //validating cone
}
Run Code Online (Sandbox Code Playgroud)

但它无法选择抛出错误的数字类型

错误:语法错误,无法识别的表达式:数字

类型文本的相同代码工作正常.

jQuery不知道数字数据类型吗?如何使它工作?

jquery numbers input

1
推荐指数
1
解决办法
4314
查看次数