我用tomcat发布的,为什么每次启动完成后,第一次访访问都要报错啊,错误信息如下:错误信息:
java.lang.NumberFormatException: For input string: "personlist.action"
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Double.parseDouble(Unknown Source)
at ognl.OgnlOps.doubleValue(OgnlOps.java:214)
at ognl.OgnlOps.compareWithConversion(OgnlOps.java:99)
at ognl.OgnlOps.isEqual(OgnlOps.java:142)
at ognl.OgnlOps.equal(OgnlOps.java:533)
at ognl.ASTEq.getValueBody(ASTEq.java:51)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:167)
at ognl.SimpleNode.getValue(SimpleNode.java:210)
at ognl.Ognl.getValue(Ognl.java:333)
at com.opensymphony.xwork2.util.OgnlUtil.getValue(OgnlUtil.java:194)
at com.opensymphony.xwork2.util.OgnlValueStack.findValue(OgnlValueStack.java:238)
at org.apache.struts2.components.Component.findValue(Component.java:322)
at org.apache.struts2.components.If.start(If.java:85)
at org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:54)
at org.apache.jsp.main.left_jsp._jspx_meth_s_005fif_005f0(left_jsp.java:281)
at org.apache.jsp.main.left_jsp._jspx_meth_s_005fiterator_005f0(left_jsp.java:152)
at org.apache.jsp.main.left_jsp._jspService(left_jsp.java:90)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
at org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:139)
at org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:178)
at com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:348)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:253)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221)atcom.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150)
at 
personlist的代码:
package org.indigotin.person;import java.util.Hashtable;
import java.util.List;import com.opensymphony.xwork2.ActionSupport;public class ActionPersonList extends ActionSupport{ private List<Hashtable<String, String>> list;
public String execute() throws Exception {
ImplPerson implPerson = new ImplPerson();
list = implPerson.getList();
return super.execute();
}
public List<Hashtable<String, String>> getList() {
return list;
}
public void setList(List<Hashtable<String, String>> list) {
this.list = list;
}

}

解决方案 »

  1.   

    看看是不是在web.xml中<filter-mapping>下的  <url-pattern>配置错了
      

  2.   

    这个是我的web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
    <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
    <filter>
    <filter-name>struts2</filter-name>
    <filter-class>
    org.apache.struts2.dispatcher.FilterDispatcher
    </filter-class>
    </filter>
    <filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    </web-app>
      

  3.   

    java.lang.NumberFormatException: For input string: "personlist.action"
      

  4.   

    ImplPerson这个类的getList()有问题
      

  5.   

    implPerson.getList();  检查这个方法返回的list的内容
      

  6.   

    把ImplPerson 类中的getList()方法贴出来看看,或者自己单步调试看看
      

  7.   

    implPerson.getList();这个方法绝对有问题,你仔细检查一下吧