Thursday 21 February 2013

Spring WebFlow, empty value from requestParameters

Hari ni berhadapan dengan isu parameter yang dibaca daripada view tidak ada value.
Error yang terlibat adalah NullPointerException kalau tak silap.

Framework

SPRING WebFlow + JSP

Kod asal:

      <view-state id="view_superviseeStudyPlanListing" view="studyplanfrm/summaryForSVor" model="studyPlanForm">  
           <on-entry>  
                <!-- should have a decision-state to check eligibility -->  
                <!-- load list of supervisee -->  
                <evaluate expression="studyPlanFrmService.loadSummaryForSupervisor(flowScope.studyPlanForm)" result="flowScope.studyPlanForm"></evaluate>  
           </on-entry>  
           <transition on="approval" to="view_studyPlanMainForSupervisor" >  
                <evaluate expression="requestParameters.ssp" result="requestScope.paramStaffStudyPlanCode" />       
           </transition>  
      </view-state>  
      <view-state id="view_studyPlanMainForSupervisor" view="studyplanfrm/studyPlanFrmMain" model="studyPlanForm">  
      <!-- sharing view with view_studyPlanMain -->  
           <on-entry>  
                <!-- load main form with all related contents -->  
                <evaluate expression="studyPlanFrmService.loadMainFormForSupervisor( studyPlanForm, paramStaffStudyPlanCode )" result="flowScope.studyPlanForm" >  
                </evaluate>  
                <set name="flowScope.msj" value="flowScope.studyPlanForm.formMessage" ></set>  
           </on-entry>  
      </view-state>  


Kod terbaru:

      <view-state id="view_superviseeStudyPlanListing" view="studyplanfrm/summaryForSVor" model="studyPlanForm">  
           <on-entry>  
                <!-- should have a decision-state to check eligibility -->  
                <!-- load list of supervisee -->  
                <evaluate expression="studyPlanFrmService.loadSummaryForSupervisor(flowScope.studyPlanForm)" result="flowScope.studyPlanForm"></evaluate>  
           </on-entry>  
           <transition on="approval" to="view_studyPlanMainForSupervisor" >  
           </transition>  
      </view-state>  
      <view-state id="view_studyPlanMainForSupervisor" view="studyplanfrm/studyPlanFrmMain" model="studyPlanForm">  
      <!-- sharing view with view_studyPlanMain -->  
           <on-entry>  
                <evaluate expression="requestParameters.ssp" result="requestScope.paramStaffStudyPlanCode" />       
                <!-- load main form with all related contents -->  
                <evaluate expression="studyPlanFrmService.loadMainFormForSupervisor( studyPlanForm, paramStaffStudyPlanCode )" result="flowScope.studyPlanForm" >  
                </evaluate>  
                <set name="flowScope.msj" value="flowScope.studyPlanForm.formMessage" ></set>  
           </on-entry>  
      </view-state>  


Penyelesaian?

Ermm, selepas pindahkan evaluation untuk requestParameters yang berkenaan semua nampak ok.

No comments: