200分求解:dom4j 使用XPATH解析。。诡异的问题

我用的是dom4j1.61方法写好了,在mian函数里面调用,没有问题,返回值是正确的。可是在JSP里面new了这个类的对象以后,传入同样的值调用方法,报错-Servle... 我用的是dom4j1.61 方法写好了,在mian函数里面调用,没有问题,返回值是正确的。可是在JSP里面new了这个类的对象以后,传入同样的值调用方法,报错

- Servlet.service() for servlet jsp threw exception
org.dom4j.InvalidXPathException: Invalid XPath expression: '/DYHFILE/yw[@ywid='104']'. Caused by: org/jaxen/dom4j/Dom4jXPath
at org.dom4j.xpath.DefaultXPath.parse(DefaultXPath.java:362)
at org.dom4j.xpath.DefaultXPath.<init>(DefaultXPath.java:59)
at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230)
at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:207)
at org.dom4j.tree.AbstractNode.selectSingleNode(AbstractNode.java:183)
at com.kmi.fsflash.dyh.queryInfo.Getywname(queryInfo.java:135)
at org.apache.jsp.dyh.page1_jsp._jspService(page1_jsp.java:71)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)

我怕是路径的问题,所以我现在改成了绝对路径,可是还是同样的错误。米办法了,200分求解
类比较大,只放一个方法上来

public String Getywname(String ywid){
String filepath = "E:\\Work\\FSBackground\\WebRoot\\common\\DYHdata.xml";
Attribute att = null;
try {
doc = read.read(new File(filepath));
Element n = (Element)doc.selectSingleNode("/DYHFILE/yw[@ywid='"+ywid+"']");
att = n.attribute("ywname");
} catch (DocumentException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

return att.getValue();
}

调用的时候,在main里面调用
queryInfo q= new queryInfo();
q.Getywname("102");
没有问题。

但是在JSP里面写

<%
queryInfo q = new queryInfo();
%>
<body>
<%=q.Getywname("102");%><br>
</body>
就不行了。报上面的错误。

麻烦帮忙看下吧,谢谢了
展开
 我来答
lzj203355
2008-12-04 · TA获得超过2022个赞
知道小有建树答主
回答量:3147
采纳率:100%
帮助的人:1044万
展开全部
你看看xml写错没
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sorry1254
2008-12-03 · TA获得超过1208个赞
知道小有建树答主
回答量:240
采纳率:0%
帮助的人:254万
展开全部
<%=q.Getywname("102");%><br>写错了,“;”去掉。是这个原因?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
basell
2008-11-27 · TA获得超过839个赞
知道小有建树答主
回答量:772
采纳率:0%
帮助的人:628万
展开全部
DeBug一下不就知道了!

换个JSP容器试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pz0513
2008-11-15 · TA获得超过793个赞
知道小有建树答主
回答量:821
采纳率:0%
帮助的人:585万
展开全部
真奇怪。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zxgddyb
2008-11-14 · 超过52用户采纳过TA的回答
知道小有建树答主
回答量:592
采纳率:0%
帮助的人:168万
展开全部
你没有写对吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式