日期:2014-05-18  浏览次数:20665 次

问一个关于JSP内置对象的问题
在JSP内使用JAVA脚本(<%%>)时,可以使用JSP内置对象,大家都明白的。我在写JSP文件的时候,在声明区间<%! %>内使用JSP内置对象out,文件编译时出错,这到底是什么原因。难道内置对象只能用在脚本或者显示<%= %>里面,不能用在声明里面吗?恳请大家解答一下,另外附上代码一段:

  <%! Locale locale;
  DateFormat format;
  %>
   
  <%!//English
  void processEnglish()throws Exception{
  locale = new Locale("en","US");
  format=DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM,locale);
  out.println("English:");
  out.println("<br>");
  out.println("HelloWorld!");
  out.println(format.format(new Date()));
  out.flush();
  }
  %>
   
该段代码中,使用内置对象out时,文件编译出错,请大家帮忙解释一下(在PAGE那一栏里已经把该导的包都导进来了)

------解决方案--------------------
<%!%>中不能使用默认的那些东西,想用的话,就要当作参数传递过去

可以参考我们教程中的解释:

http://www.family168.com/tutorial/jsp/html/jsp-ch-14.html#jsp-ch-14-03
------解决方案--------------------
出什么错误?把错误提示的代码贴出来别人才知道啊,声明里只能写属性和方法,内置对象是不能初始化的,直接就可以使用,因为容量已经帮我们初始化了!!!
------解决方案--------------------
除了声明可以这样写:<%!
其它的不要这样写的。
------解决方案--------------------

<%

%>

这样的就可以了!