我在呈现以下视图状态时遇到Web流异常。如果我直接打开这个视图状态,它的工作正常,但当我来自不同的流程时,它会抛出webflow异常。
我还观察到,如果我没有在屏幕上执行任何操作并且长时间不断地打开我的屏幕,那么它也会抛出相同的异常。
我的流量文件:
<view-state id="eftBatchRejection">
<on-entry>
<set name="conversationScope.currentState" value="'eftBatchRejection'" />
<set name="conversationScope.errorState" value="'eftBatchRejection'" />
<set name="flowScope.flowValidator" value="'true'" />
<!-- Set HELP link -->
<evaluate expression="utilities.handleHelpUrl(conversationScope.currentState)" result="flowScope.helpURL" />
<evaluate expression="paymentEntryBean.setEFTRejectionBatchLayer()" />
例外:
Attempting to handle [org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing [AnnotatedAction@15aad3e targetAction = [EvaluateAction@13e5dec expression = paymentEntryBean.setEFTRejectionBatchLayer(), resultExpression = [null]], attributes = map[[empty]]] in state 'eftBatchRejection' of flow 'billing/paymentEntry' -- action execution attributes were 'map[[empty]]'] with root cause [java.lang.NullPointerException]
2013-09-13 16:48:08 ERROR WebflowExceptionHandlerBean:90 - HANDLING FLOW EXECUTION EXCEPTION: org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing [AnnotatedAction@15aad3e targetAction = [EvaluateAction@13e5dec expression = paymentEntryBean.setEFTRejectionBatchLayer(), resultExpression = [null]], attributes = map[[empty]]] in state 'eftBatchRejection' of flow 'billing/paymentEntry' -- action execution attributes were 'map[[empty]]'
org.springframework.webflow.execution.ActionExecutionException: Exception thrown executing [AnnotatedAction@15aad3e targetAction = [EvaluateAction@13e5dec expression = paymentEntryBean.setEFTRejectionBatchLayer(), resultExpression = [null]], attributes = map[[empty]]] in state 'eftBatchRejection' of flow 'billing/paymentEntry' -- action execution attributes were 'map[[empty]]'
at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:60)
at org.springframework.webflow.engine.ActionList.execute(ActionList.java:155)
Java方法:
public void setEFTRejectionBatchLayer() {
if (initializeObjects == null || !(initializeObjects.equalsIgnoreCase(Constants.NO_IND))) {
EftRejectionBatchDTO eftRejectionBatchDTO = (EftRejectionBatchDTO) UXTools.getBean(EFT_REJECTION_BATCH_DTO);
BatchPayment batchPayment = new BatchPayment();
MiscParty miscParty = new MiscParty();
}
请告诉我这件事。谢谢你!
Vikas Soni
答案 0 :(得分:1)
只是在研究网络流量问题,即使这不是你主要关心的问题,我也可能会找到你的错误何时发生的部分解释。
“on-entry”表达式代码仅在从Webflow逻辑访问此视图状态时执行,如果您从刷新或直接访问以前呈现的视图访问此流状态(通过直接键入),则不会执行在url .... = e1s5 for eg)
它不能解决你的问题,但我认为它可以解释它的复制条件。
您的操作总是导致未处理的错误(在您的java代码中进行调查),但您的操作并不总是执行。
您可以通过将操作移动到“渲染”部分来检查,然后每次以任何方式访问此视图时都会显示错误。
无论哪种方式,我认为这是一个感兴趣的小提示。Goog运气好!
答案 1 :(得分:0)
迟到的反应但无论如何......
这可能无法回答这个问题,但我认为这可能有助于其他人......
当我们收到错误时,例如尝试处理[org.springframework .....动作执行属性是&#39; map [[empty]]&#39;]的根本原因,这意味着来自jsp的表单数据未被传输。
尝试替换
行<view-state id="eftBatchRejection">
带
<view-state id="eftBatchRejection" model="beanName">