Hi ,
l cannot get back a command that put in a flow scope , according to Keith , it suppose to "stay there for the life of the flow".
l wish to do the following ,
l first search a list of publishers for edit , after a successful search , l pick a publisher for edit , show the edit page then edit and submit . After a successful edit , l wish to immediately display back the original search for user experience ...so l need the original command --> googleSortCommand for my case , but l cannot get it , may be my code problem .... below is my codes snippet ,
Code:public class BookRelatedActions extends AbstractLibraryFormAction { private static final String GOOGLE_SORT_COMMAND = "googleSortCommand"; public BookRelatedActions() { setFormObjectName(GOOGLE_SORT_COMMAND); setFormObjectClass(GoogleSortCommand.class); //l set <property name="formObjectScopeAsString" value="flow"/> in xxx.servlet.xml } ... public Event SearchPublisher(RequestContext context) throws Exception { GoogleSortCommand googleSortCommand = (GoogleSortCommand)context.getFlowScope().get(GOOGLE_SORT_COMMAND); String publisherName = googleSortCommand.getKeyword(); String sortColumn = googleSortCommand.getSortColumn(); System.out.println("-------"+publisherName+"--------"); System.out.println("^^^^^^^^"+sortColumn+"^^^^^^^^"); if(publisherName != null){ Map model = getLibrary().findPublishersByNameWithTotal(googleSortCommand); ArrayList publishers = (ArrayList)model.get("_resultset"); if (publishers.size() < 1) { // no item found writeMessage(context,"NoPublihserFound","no.publisher.found"); return success(); } // multiple items found context.getRequestScope().setAttribute("Publishers", model); return success(); } return success(); } }show nulls ... no original form object return.Code:System.out.println("-------"+publisherName+"--------"); System.out.println("^^^^^^^^"+sortColumn+"^^^^^^^^");
bookRelated-flow.xml,
subflow - publisher.Update-flow.xmlCode:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE webflow PUBLIC "-//SPRING//DTD WEBFLOW//EN" "http://www.springframework.org/dtd/spring-webflow.dtd"> <webflow id="bookRelated.Flow" start-state="bookRelated.start"> <view-state id="bookRelated.start" view="bookRelated.view"> <transition on="showPublisherForm" to="AddPublisherForm"/> <transition on="searchPublisherById" to="publisher.Update.Flow"/> <transition on="deletePublisher" to="DeletePublisher"/> <transition on="searchAuthor" to="SearchAuthor"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> <transition on="searchPublisher" to="SearchPublisher"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> <transition on="searchSubject" to="SearchSubject"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> <transition on="searchOtherTitle" to="SearchOtherTitle"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> <transition on="searchSeries" to="SearchSeries"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> <transition on="searchNote" to="SearchNote"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> </view-state> <view-state id="AddPublisherForm" view="publisher.Create"> <transition on="add" to="bindAndValidate.SaveForm"/> <transition on="searchAuthor" to="SearchAuthor"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> <transition on="searchPublisher" to="SearchPublisher"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> <transition on="searchSubject" to="SearchSubject"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> <transition on="searchOtherTitle" to="SearchOtherTitle"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> <transition on="searchSeries" to="SearchSeries"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> <transition on="searchNote" to="SearchNote"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> </view-state> <action-state id="bindAndValidate.SaveForm"> <action bean="publisherActions" method="bindAndValidate"/> <transition on="success" to="SavePublisher"/> <transition on="error" to="AddPublisherForm"/> </action-state> <action-state id="SavePublisher"> <action name="Save" bean="publisherActions"/> <transition on="Save.success" to="AddPublisherForm"/> <transition on="Save.error" to="AddPublisherForm"/> </action-state> <subflow-state id="publisher.Update.Flow" flow="publisher.Update.Flow"> <attribute-mapper> <input value="${sourceEvent.parameters.id}" as="id" type="long"/> </attribute-mapper> <transition on="finish" to="bookRelated.start"/> <transition on="finish.edit.publisher" to="SearchPublisher"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> <transition on="_SearchAuthor" to="SearchAuthor"/> <transition on="_SearchPublisher" to="SearchPublisher"/> <transition on="_SearchSubject" to="SearchSubject"/> <transition on="_SearchOtherTitle" to="SearchOtherTitle"/> <transition on="_SearchSeries" to="SearchSeries"/> <transition on="_SearchNote" to="SearchNote"/> <transition on="error" to="bookRelated.start"/> </subflow-state> <action-state id="DeletePublisher"> <action bean="publisherActions"/> <transition on="success" to="bookRelated.start"/> <transition on="error" to="bookRelated.start"/> </action-state> <action-state id="SearchAuthor"> <action bean="bookRelatedActions"/> <transition on="success" to="bookRelated.start"/> </action-state> <action-state id="SearchPublisher"> <action bean="bookRelatedActions"/> <transition on="success" to="bookRelated.start"/> </action-state> <action-state id="SearchSubject"> <action bean="bookRelatedActions"/> <transition on="success" to="bookRelated.start"/> </action-state> <action-state id="SearchOtherTitle"> <action bean="bookRelatedActions"/> <transition on="success" to="bookRelated.start"/> </action-state> <action-state id="SearchSeries"> <action bean="bookRelatedActions"/> <transition on="success" to="bookRelated.start"/> </action-state> <action-state id="SearchNote"> <action bean="bookRelatedActions"/> <transition on="success" to="bookRelated.start"/> </action-state> </webflow>
moonCode:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE webflow PUBLIC "-//SPRING//DTD WEBFLOW//EN" "http://www.springframework.org/dtd/spring-webflow.dtd"> <webflow id="publisher.Update.Flow" start-state="SearchPublisherById"> <action-state id="SearchPublisherById"> <action bean="publisherActions"/> <transition on="success" to="publisher.edit"/> <transition on="error" to="finish"/> </action-state> <view-state id="publisher.edit" view="publisher.Update"> <transition on="edit" to="bindAndValidate.EditForm"/> <transition on="back" to="finish"/> <transition on="searchAuthor" to="_SearchAuthor"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> <transition on="searchPublisher" to="_SearchPublisher"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> <transition on="searchSubject" to="_SearchSubject"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> <transition on="searchOtherTitle" to="_SearchOtherTitle"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> <transition on="searchSeries" to="_SearchSeries"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> <transition on="searchNote" to="_SearchNote"> <action bean="bookRelatedActions" method="bindAndValidate"/> </transition> </view-state> <action-state id="bindAndValidate.EditForm"> <action bean="publisherActions" method="bindAndValidate"/> <transition on="success" to="EditPublisher"/> <transition on="error" to="publisher.edit"/> </action-state> <action-state id="EditPublisher"> <action bean="publisherActions"/> <transition on="success" to="finish.edit.publisher"/> <transition on="error" to="publisher.edit"/> </action-state> <end-state id="finish"/> <end-state id="finish.edit.publisher"/> <end-state id="_SearchAuthor"/> <end-state id="_SearchPublisher"/> <end-state id="_SearchSubject"/> <end-state id="_SearchOtherTitle"/> <end-state id="_SearchSeries"/> <end-state id="_SearchNote"/> </webflow>


Reply With Quote
