这是函数声明
<%@ page import java.util.Arrays%>
<%@ page import java.util.Vector%>
<%!
String fun(String args)
{
Vector v=new Vector(); 
//String args="1 2 3 4 5 6 7 8 9 0 0 9 8 7 6 5 4 3 2 1 ";
args=args+' ';
String tempstr="";
int num=0;
boolean insrt=false;
for(int i=0;i<args.length();i++)
{ boolean prenotnum=true; ///前一个不是数字
char c=args.charAt(i);

if ((c<58)&&(c>47))//适合输入
{
if(prenotnum)////////////////////新数
{
if(num>0)/////////////如果不是第一个数在数字前加前边加空格
{tempstr=tempstr+' ';}
num++;
if(num==10){
insrt=true;
}
}
tempstr=tempstr+c;
prenotnum=false;
}
else//不适合输入
{
prenotnum=true;

if (insrt)

 v.add(tempstr);System.out.println(tempstr);
 tempstr="";
 insrt=false;
 num=0;
};
//System.out.println("num is"+num);
};};
///////////////////////////////////////把vector中的元素拷贝到一般数组str[]中
String[] str=new String[v.size()];
for(int j=0;j<v.size();j++)
{
str[j]=(String)v.get(j);//System.out.println(str[j]); //测试
};
////////////////////////////
Arrays.sort(str);
////////////连成长串
//返回长的String
String resultstr="";
for(int i=0;i<v.size();i++)
{
if(i>0)
{
resultstr=resultstr+' ';
}
resultstr=resultstr+str[i];}return resultstr;
};
%>

解决方案 »

  1.   

    我把这段写成注释<!--   .. -->也会报错,谁知道是怎么回事呀,重谢
      

  2.   

    函数没问题。
    我建议你先去掉函数看看
    还有给你一个建议
    到tomcat的work\Catalina\localhost目录下找一下那个编译成.java的JSP文件。
    看看抛出异常的地方在那里!!
      

  3.   

    不好意思,说错了,变成注释没有问题。
    不过函数一声明,
    不加入
    <%@ page import java.util.Arrays%>
    <%@ page import java.util.Vector%>
    就出现
    org.apache.jasper.JasperException: Unable to compile class for JSPNo Java compiler was found to compile the generated source for the JSP. 
    This can usually be solved by copying manually $JAVA_HOME/lib/tools.jar from the JDK 
    to the common/lib directory of the Tomcat server, followed by a Tomcat restart. 
    If using an alternate Java compiler, please check its installation and access path.若加入
    <%@ page import java.util.Arrays%>
    <%@ page import java.util.Vector%>
    则错误变成变成
    org.apache.jasper.JasperException: /newconnect.jsp(3,16) equal symbol expected
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:83)
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:402)
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:126)
    org.apache.jasper.compiler.Parser.parseAttribute(Parser.java:240)
    org.apache.jasper.compiler.Parser.parseAttributes(Parser.java:190)
    org.apache.jasper.compiler.Parser.parsePageDirective(Parser.java:395)
    org.apache.jasper.compiler.Parser.parseDirective(Parser.java:514)
    org.apache.jasper.compiler.Parser.parseElements(Parser.java:1625)
    org.apache.jasper.compiler.Parser.parse(Parser.java:173)
    org.apache.jasper.compiler.ParserController.parse(ParserController.java:247)
    org.apache.jasper.compiler.ParserController.parse(ParserController.java:149)
    org.apache.jasper.compiler.ParserController.parse(ParserController.java:135)
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:243)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:437)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:555)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:291)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:248)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
      

  4.   

    我本来想把tools.jar考到tomcat/com/lib下,结果发现有一个,大小有点区别
      

  5.   

    好像 使用 函数 要在web.xml中配置,你看看是不是这个问题先!
      

  6.   

    up  一下我以前用在JSP中的函数也老出错没办法只好将代码多次写到JSP中了!
    希望楼主能搞定
    我用的是TOMCAT+JSP+JAVABEAN
      

  7.   

    <%@ page import java.util.Arrays%>
    <%@ page import java.util.Vector%>
    书写错误.
      

  8.   

    <%@ page import="java.util.Arrays,java.util.Vector"%>
      

  9.   

    今天已经搞定了,不过回来发现真的有人指出来了,高
    就是import出错了,import=".." ,谢谢大家.来者有分