我的bean类中的javax.el.PropertyNotFoundException

时间:2016-03-09 13:00:59

标签: spring spring-mvc el

我试图将数据从mysql数据库绑定到我的视图(jsp)。我在我的jsp中使用了jstl库,我将从数据库中获取对象列表,所以我使用forEach逐个获取列表并在UI中绑定,但我得到的错误属性在我的bean类中找不到。根本原因如下:

Mar 09, 2016 6:09:03 PM org.apache.jasper.compiler.TldLocationsCache tldScanJar
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Mar 09, 2016 6:09:04 PM org.apache.catalina.core.ApplicationDispatcher invoke
SEVERE: Servlet.service() for servlet jsp threw exception
javax.el.PropertyNotFoundException: Property 'AppType' not found on type com.Lookup.Bean.LookupBean
    at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:290)
    at avax.el.BeanELResolver$BeanProperties.access$300(BeanELResolver.java:243)
    at javax.el.BeanELResolver.property(BeanELResolver.java:377)
    at javax.el.BeanELResolver.getValue(BeanELResolver.java:97)
    at org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:104)
    at org.apache.el.parser.AstValue.getValue(AstValue.java:183)
    at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184)
    at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:944)  at org.apache.jsp.WEB_002dINF.views.getList_jsp._jspx_meth_c_005fout_005f0(getList_jsp.java:181)    at org.apache.jsp.WEB_002dINF.views.getList_jsp._jspx_meth_c_005fforEach_005f0(getList_jsp.java:137)
    at org.apache.jsp.WEB_002dINF.views.getList_jsp._jspService(getList_jsp.java:88)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:411)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
    at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:168)
    at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)
    at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1244)
    at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1027)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:971)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:957)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)

Mar 09, 2016 6:09:04 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Lookup] in context with path [/TaskDone] threw exception [An exception occurred processing JSP page /WEB-INF/views/getList.jsp at line 25

22: <tr>
23:  <%-- <td><c:out value="${lookup}"/></td> --%>
24: 
25:  <td><c:out value="${lookup.AppType}" /></td>
26:  <td><c:out value="${lookup.LicenseGuid}" /></td>
27:  <td><c:out value="${lookup.Licensed}" /></td>
28:  <td><c:out value="${lookup.SerialNumber}" /></td>

LookupBean

package com.Lookup.Bean;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="Lookup_Table")
public class LookupBean {

    public LookupBean()
    {

    }
    @Id
    @GeneratedValue
    private int id;
    @Column(name="SerialNumber")
    private String SerialNumber;
    @Column(name="Licensed")
    private boolean Licensed;
    @Column(name="LicenseGuid")
    private String LicenseGuid;
    @Column(name="AppType")
    private String AppType;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getSerialNumber() {
        return SerialNumber;
    }
    public void setSerialNumber(String serialNumber) {
        SerialNumber = serialNumber;
    }
    public boolean isLicensed() {
        return Licensed;
    }
    public void setLicensed(boolean licensed) {
        Licensed = licensed;
    }
    public String getLicenseGuid() {
        return LicenseGuid;
    }
    public void setLicenseGuid(String licenseGuid) {
        LicenseGuid = licenseGuid;
    }
    public String getAppType() {
        return AppType;
    }
    public void setAppType(String appType) {
        AppType = appType;
    }



}

任何想法都会有所帮助:)

1 个答案:

答案 0 :(得分:0)

在你的jsp中使用${lookupBean.AppType}而不是getAppType()使用Unified EL appType这里引用的是Javabeans属性而不是字段(即。String AppType方法而不是editText.setKeyListener( null ); editText.setFocusable( false ); editText.setCursorVisible(false);

为避免混淆,请遵循建议的约定来命名变量。有关Java命名约定http://www.oracle.com/technetwork/java/codeconventions-135099.html和本文的详细说明,请参阅本文以了解Unified EL的工作原理https://docs.oracle.com/javaee/5/tutorial/doc/bnahq.html