java-如果String包含单引号或双引号,则调用CMIS查询时出错
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-如果String包含单引号或双引号,则调用CMIS查询时出错,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2988字,纯文字阅读大概需要5分钟。
内容图文
![java-如果String包含单引号或双引号,则调用CMIS查询时出错](/upload/InfoBanner/zyjiaocheng/664/ad5dcff4d89d426a85933bc46b6cd92a.jpg)
这是我的问题:当我尝试在CMIS查询中传递包含单引号或双引号的查询字符串时,它不会执行,并给出如下错误:
06:19:23,306 ERROR [DispatcherPortlet:561] Could not complete request
org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException: Internal Server Error
at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.convertStatusCode(AbstractAtomPubService.java:506)
at org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.post(AbstractAtomPubService.java:661)
at org.apache.chemistry.opencmis.client.bindings.spi.atompub.DiscoveryServiceImpl.query(DiscoveryServiceImpl.java:179)
at org.apache.chemistry.opencmis.client.runtime.SessionImpl$6.fetchPage(SessionImpl.java:935)
at org.apache.chemistry.opencmis.client.runtime.util.AbstractIterator.getCurrentPage(AbstractIterator.java:132)
at org.apache.chemistry.opencmis.client.runtime.util.AbstractIterator.getPageNumItems(AbstractIterator.java:57)
at org.apache.chemistry.opencmis.client.runtime.util.AbstractIterable.getPageNumItems(AbstractIterable.java:86)
at com.zeetv.util.UtilMethods.getQueryResults(UtilMethods.java:349)
at com.zeetv.action.twitter.TwitterController.checkTitle(TwitterController.java:121)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:175)
at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:369)
at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.doHandle(AnnotationMethodHandlerAdapter.java:356)
at org.springframework.web.portlet.mvc.annotation.AnnotationMethodHandlerAdapter.handleResource(AnnotationMethodHandlerAdapter.java:302)
at org.springframework.web.portlet.DispatcherPortlet.doResourceService(DispatcherPortlet.java:859)
at org.springframework.web.portlet.FrameworkPortlet.processRequest(FrameworkPortlet.java:527)
at org.springframework.web.portlet.FrameworkPortlet.serveResource(FrameworkPortlet.java:479)
这是我的查询字符串:
select * from my:content where cmis:name Like 'test's new content1'
我也尝试过这样:
select * from my:content where cmis:name Like '"test's new content1"'
提前致谢.
解决方法:
请考虑查看this:
String literals are enclosed in single quotes. Escaping does not follow SQL-92 escaping. Two single quotes within a string literal do not represent a quote character:
''''
is not a single quote literal.CMIS defines backslash-based escaping with the available escape characters, determined by context.
'bob\'s' is used in place of 'bob''s'
SELECT * from cmis:document WHERE cmis:name = 'bob\'s'
Basic escaping:
\\ represents \
\' represents '
…
内容总结
以上是互联网集市为您收集整理的java-如果String包含单引号或双引号,则调用CMIS查询时出错全部内容,希望文章能够帮你解决java-如果String包含单引号或双引号,则调用CMIS查询时出错所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。