无法将枚举类型.name()读入jsp:uncaught引用错误

时间:2014-05-09 11:29:52

标签: java jsp

这是我的java类:

package org.at.network;

public class MyClass {

public static enum Type {
    ROOT(0),RELAY(1),LEAF(2),NULL(3);

    private int value;

    Type(int value){
        this.value = value;
    }

    public int getValue(){
        return value;
    }
}
 ....

现在在我的jsp:

<%@page import="org.at.network.MyClass"%>

var ROOT = <%=MyClass.Type.ROOT.name() %>;

它怎么会给我:

  

未捕获的ReferenceError:未定义ROOT

如果我在java类中执行该代码,那么它应该是一个jsp问题......

2 个答案:

答案 0 :(得分:1)

我认为这是一个javascript问题...

Probalby生成的javascript代码如下所示:

var ROOT = ROOT;

所以此时变量ROOT未定义。

您可能希望将其另存为字符串:

所以试着这样做:

var ROOT = '<%=MyClass.Type.ROOT.name() %>';

这样生成的js代码将是

var ROOT = 'ROOT';

答案 1 :(得分:0)

使用getValue()方法而不是getName()方法