在JSP中定义变量,一定要放到<%! %>中吗?我定义了一个函数: Synchronized void countp(){}
Eclipse老是提示syntax error at token "void",去掉<%! %>里的!就不会出现这个错误,但程序仍然无法编译过去,不知道是怎么回事?
   请高手给指点一二啊!

解决方案 »

  1.   

    <%!%>是定义的全局变量;应该这样吧:
    <% 
       String str="xxx";
       int i=0;
    %>
      

  2.   

    定义方法"!"是一定要的,如果程序没问题有可能是tomcat版本低
      

  3.   

    为什么要在JSP页面里写呢
    放到SERVLET或者STRUTS,JSF等中吧
      

  4.   

    放在 <%!.....%>中的声明语句在编译为Servlet 的时候将作为类的属性存在,而放在Scriptlet中的声明将在类的方法内部被声明。
    <%....%>中定义的变量是JSP的本地变量,它们对于外部函数是不可见的,即使这些函数和变量在同一个页面中声明。
      

  5.   

    不要把方法放到jsp中,写个class不就可以了
      

  6.   

    (1)尽量不要把class写在jsp页面中,你可以单独写个class,然后在jsp页面调用它!
    (2)<% %>是Scriptlets,里面放入合法的java代码!只要是合法的Java代码就可以放里面,当然里面也可以写变量和方法了!
    (3)<%! %>声明合法的变量和方法,相当于把(1)的功能挪进来!虽然Jsp中语法是可以的,但是实际开发中很少如此,都是把这个写出来,然后页面调用的!
      

  7.   

    我学struts不久.我们的规范要求是尽量不要在jsp中放入方法(业务处理)!觉得挺有道理的!
    可是见很多人在jsp中做业务处理.不知道哪种方式好一些!
    个人认为还是应该把业务处理写成一个.class好一些!!!或者放到一个action 里.
      

  8.   

    从代码规范的角度来说,不是尽量不用,而是绝对不能在jsp中写代码。