public class Base64Encoder
{
private static final int i= 1024;
private static int j=0;
}
.java里都是对的
现在在jsp里这样写
<%!
public class Base64Encoder
{
private static final int i= 1024;//这个是对的
private static int j=0;//这个是错的 如果把类加static就是正确的
}
%>
求解

解决方案 »

  1.   

    如果内部类里面可以这样写 
    那么
    private static int j=0;//这个是错的 如果把类加static就是正确的
    就是对的  
      

  2.   

    JSP文件最终是要编译成jspname_jsp.java文件执行的,
    JSP文件体部分是在这个java类的_jspService()方法中,
    也就是说,你在jsp中声明的类Base64Encoder实际上是声明在方法_jspService()内的,
    你这里有两个问题:
    1.在JSP中声明类时,类的public标记是无意义的,它只是方法内部可见;
    2.Java类里,只有顶级类才能声明static成员,所以你这里private static int j=0也是不正确的。