2012-06-13 2 views
3

List를 데이터 테이블에 표시하려고 할 때 NumberFormatException이 발생합니다. 이 예외가 발생하는 일반적인 이유를 알고 있지만 내 상황에 적용 할 수없는 이유를 파악할 수 없습니다. 여기 DataTable에 List <CustomObject>를 사용할 때 NumberFormatException이 발생했습니다.

내 얼음입니다 : 데이터 테이블 디스플레이 코드

<ice:dataTable id="transformations" var="transformationList" width="700" 
value="#{ShowStatusBean.transformationStatusList}" rows="10"  
partialTriggers="refreshButton" autoSubmit="true"> 

<ice:column> 
<ice:outputText value="#{transformationList.businessDate}" /> 
</ice:column> 

<ice:column> 
<ice:outputText value="#{transformationList.service}" /> 
</ice:column> 

<ice:column> 
<ice:outputText value="#{transformationList.status}" /> 
</ice:column> 

</ice:dataTable> 

그리고 내 백업 콩 코드

public List<TransformationBean> getTransformationStatusList() { 
    transformationStatusList = new ArrayList<TransformationBean>(); 
    transformationStatusList.add(new TransformationBean("2012-01-01", "serviceName", "status1")); 
    transformationStatusList.add(new TransformationBean("2012-01-02", "serviceName2", "status2")); 
    return transformationStatusList; 
} 

그리고 마지막으로 스택 추적

23:59:57 ERROR [f-tuning)'] D2DFaceletViewHandler  - Problem in renderResponse: For input string: "businessDate" 
java.lang.NumberFormatException: For input string: "businessDate" 
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48) 
    at java.lang.Integer.parseInt(Integer.java:449) 
    at java.lang.Integer.parseInt(Integer.java:499) 
    at com.sun.facelets.el.LegacyELContext$LegacyELResolver.getValue(LegacyELContext.java:138) 
    at com.sun.el.parser.AstValue.getValue(AstValue.java:96) 
    at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:183) 
    at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71) 
    at com.sun.facelets.el.LegacyValueBinding.getValue(LegacyValueBinding.java:56) 
    at javax.faces.component.UIOutput.getValue(UIOutput.java:80) 
    at com.icesoft.faces.renderkit.dom_html_basic.OutputTextRenderer.encodeEnd(OutputTextRenderer.java:91) 
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:539) 
    at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:369) 
    at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:364) 
    at com.icesoft.faces.component.ext.renderkit.TableRenderer.encodeChildren(TableRenderer.java:896) 
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:527) 
    at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:357) 
    at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:95) 
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:527) 
    at com.icesoft.faces.component.util.CustomComponentUtils.renderChild(CustomComponentUtils.java:338) 
    at com.icesoft.faces.component.panelpopup.PanelPopupRenderer.encodeBegin(PanelPopupRenderer.java:240) 
    at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:515) 
    at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:355) 
    at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:95) 
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:527) 
    at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:357) 
    at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:364) 
    at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:95) 
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:527) 
    at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:357) 
    at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:95) 
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:527) 
    at com.icesoft.faces.component.util.CustomComponentUtils.renderChild(CustomComponentUtils.java:338) 
    at com.icesoft.faces.component.paneltabset.PanelTabSetRenderer.writeTabCell(PanelTabSetRenderer.java:983) 
    at com.icesoft.faces.component.paneltabset.PanelTabSetRenderer.encodeEnd(PanelTabSetRenderer.java:422) 
    at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:539) 
    at javax.faces.component.UIData.encodeEnd(UIData.java:573) 
    at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:369) 
    at com.icesoft.faces.renderkit.dom_html_basic.GridRenderer.encodeChildren(GridRenderer.java:207) 
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:527) 
    at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:357) 
    at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:95) 
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:527) 
    at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:357) 
    at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:364) 
    at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:95) 
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:527) 
    at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:357) 
    at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:364) 
    at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:364) 
    at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:364) 
    at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:364) 
    at com.icesoft.faces.renderkit.dom_html_basic.DomBasicRenderer.encodeParentAndChildren(DomBasicRenderer.java:364) 
    at com.icesoft.faces.renderkit.dom_html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:95) 
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:527) 
    at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:490) 
    at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:495) 
    at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:495) 
    at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:495) 
    at com.icesoft.faces.application.D2DViewHandler.renderResponse(D2DViewHandler.java:495) 
    at com.icesoft.faces.facelets.D2DFaceletViewHandler.renderResponse(D2DFaceletViewHandler.java:281) 
    at com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:155) 
    at com.icesoft.faces.application.ViewHandlerProxy.renderView(ViewHandlerProxy.java:70) 
    at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41) 
    at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132) 
    at com.icesoft.faces.webapp.http.core.JsfLifecycleExecutor.apply(JsfLifecycleExecutor.java:51) 
    at com.icesoft.faces.webapp.http.core.ReceiveSendUpdates.renderCycle(ReceiveSendUpdates.java:171) 
    at com.icesoft.faces.webapp.http.core.ReceiveSendUpdates.service(ReceiveSendUpdates.java:112) 
    at com.icesoft.faces.webapp.http.core.RequestVerifier.service(RequestVerifier.java:65) 
    at com.icesoft.faces.webapp.http.servlet.BasicAdaptingServlet.service(BasicAdaptingServlet.java:48) 
    at com.icesoft.faces.webapp.http.servlet.SessionVerifier.service(SessionVerifier.java:58) 
    at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:55) 
    at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:77) 
    at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:55) 
    at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:192) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) 
    at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:67) 
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) 
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) 
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301) 
    at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) 
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) 
    at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) 
    at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) 
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3730) 
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696) 
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 
    at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) 
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273) 
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179) 
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490) 
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) 
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) 

그리고 내 TransformationBean

public class TransformationBean{ 

    private String businessDate; 
    private String service; 
    private String status; 

    // constructor 
    // getter and setters 
    } 

이 문제에 대해 조사한 결과 많은 답을 발견했습니다. 그러나 나는 그 실수 중 하나를하지 않는 것처럼 보입니다. 그래서 내가 무엇을 놓치고 있는지 확실하지 않습니다. 이것들은 같은 문제에서 발견 된 다른 링크입니다.

NumberFormatException for input String

http://jforum.icesoft.org/JForum/posts/list/16645.page

이 모든

Number format exception when returning values from database(JPA)

는 <는 자바 코드에서 반환되는> 목록이 그려고 왜 객체 []의 목록이 언급 속성을 색인 속성으로 처리하여 배열 항목에 전달합니다. 그러나 내 코드에서 객체 목록 []이 반환되지 않지만 명확하게 정의 된 목록

또한 JUNIT 테스트 케이스에서 Java 코드를 테스트하고 리턴 유형이 TransformationBean 오브젝트 목록임을 확인했습니다.

나는 올바르게 행동하지 않습니다.

+1

"** TransformationBean **"의 의미는 무엇입니까? 유형이있는 TransformationBean의 매개 변수를 알려주십시오. – Ponmalar

+0

TrasformationBean은 제 POJO입니다. –

+0

위의 원래 게시물에 추가했습니다. 관리 빈의 속성으로 목록을 가져 와서 getter 내부의 메소드로 채우려 고 시도 했습니까? –

답변

0

문제를 해결할 수있었습니다. 문제가 무엇인지 확실하지 않습니다. 방금 같은 정보 세트로 내 xhtml 디스플레이 코드를 포함하는 새 파일을 만들었습니다. 내가 변경 만 건 ...과 같이 콩에

<ice:dataTable id="transformations" var="bean" width="700" 
value="#{ShowStatusBean.transformationStatusList}" rows="10"  
partialTriggers="refreshButton" autoSubmit="true"> 

<ice:column> 
<ice:outputText value="#{bean.businessDate}" /> 
</ice:column> 

<ice:column> 
<ice:outputText value="#{bean.service}" /> 
</ice:column> 

<ice:column> 
<ice:outputText value="#{bean.status}" /> 
</ice:column> 

</ice:dataTable>` 

을 var에 이름을 변경했다 그리고 그것은 아마 애플 리케이션 서버가 올바르지 일부 이전 버전의 캐싱 된 .. 이해가되지 않습니다 .. 작업을 시작했다 .. 하지만 내 코드가 옳았던 것처럼 보입니다.

관련 문제