出错了,见下。replaceall()这个函数不知道该怎么使用,系统总是说没找到。比如一个字符串SoftName怎么将它里面的一个单引号变成两个呢?是不是SoftName.replace(SoftName,"'","''"),可是我试了,有错误.type Exception reportmessage Internal Server Errordescription The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPAn error occured between lines: 26 and 120 in the jsp file: /Result.jspGenerated servlet error: C:\tomcat\work\localhost\test\Result$jsp.java:98: Method Replaceall(java.lang.String, java.lang.String, java.lang.String) not found in class java.lang.String. SoftName=SoftName.Replaceall(SoftName,"'","''"); ^ 1 error at org.apache.jasper.compiler.Compiler.compile(Compiler.java:284) at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:546) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:177) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:189) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163) at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943) at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1011) at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106) at java.lang.Thread.run(Unknown Source)--------------------------------------------------------------------------------
我是这么使得(如下),但是,查询结果总是为空,不知道为什么? Sql="select MasterID,MasterName,MasterLevel = CASE WHEN MasterInfo.MasterLevel = '1' THEN '☆' WHEN MasterInfo.MasterLevel = '2' THEN '☆☆' WHEN MasterInfo.MasterLevel = '3' THEN '☆☆☆' WHEN MasterInfo.MasterLevel = '4' THEN '☆☆☆☆' WHEN MasterInfo.MasterLevel = '5' THEN '☆☆☆☆☆' END,MasterClick,MasterDesc from MasterInfo,TypeInfo where MasterInfo.TypeID=TypeInfo.TypeID and ParentID=? and MasterName like ? order by MasterLevel desc,MasterName";PreparedStatement pstmt=con.prepareStatement(Sql);pstmt.setString(1,SoftKind);pstmt.setString(2,"\'%"+SoftName+"%\'");pstmt.excuteQuery();
String.replaceall(str,"'","''");
C:\tomcat\work\localhost\test\Result$jsp.java:98: Method Replaceall(java.lang.String, java.lang.String, java.lang.String) not found in class java.lang.String.
SoftName=SoftName.Replaceall(SoftName,"'","''");
^
1 error at org.apache.jasper.compiler.Compiler.compile(Compiler.java:284)
at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:546)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:177)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:189)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:462)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1011)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106)
at java.lang.Thread.run(Unknown Source)--------------------------------------------------------------------------------
我也说不准可以一找一下相关的jsp的换法
不知道你是怎么使用它???
Sql="select MasterID,MasterName,MasterLevel = CASE WHEN MasterInfo.MasterLevel = '1' THEN '☆' WHEN MasterInfo.MasterLevel = '2' THEN '☆☆' WHEN MasterInfo.MasterLevel = '3' THEN '☆☆☆' WHEN MasterInfo.MasterLevel = '4' THEN '☆☆☆☆' WHEN MasterInfo.MasterLevel = '5' THEN '☆☆☆☆☆' END,MasterClick,MasterDesc from MasterInfo,TypeInfo where MasterInfo.TypeID=TypeInfo.TypeID and ParentID=? and MasterName like ? order by MasterLevel desc,MasterName";PreparedStatement pstmt=con.prepareStatement(Sql);pstmt.setString(1,SoftKind);pstmt.setString(2,"\'%"+SoftName+"%\'");pstmt.excuteQuery();
就用indexOf()和substring()就可以了吧!
但这个方法JDK1.4里才有用,楼主如果你用的不是1.4那就自己写一个算法吧,不难的
Thank You!
interliu()!