I tried to change to order of the interceptors, but without any success. The model is still not set.
You implemented the post-redirect-get pattern in your own implementation? Is it possible to publish your implementation? Gabriel Belingueres-2 wrote: > > I certainly did not use any of these conversation implementations (I > decided to write my own) but I suspect that you have defined the > interceptors in the opposite order: I think you should first set to > execute the defaultStack and then call the conversation interceptor. > > 2008/5/22, Canny Duck <[EMAIL PROTECTED]>: >> >> Hi, >> >> I want to implement a process with more than one step and a model in a >> conversation scope. >> To realize that I used the Struts 2 scope plugin. >> >> To implement the post-redirect-get pattern I have a result type of >> "redirect-action". This behave is required. >> >> The attached demo implementation worked fine, if the model property and >> the >> getter setter method >> is part of the called action. But if the model is declared in a >> BaseAction, >> the model will not be set on the Value Stack >> and the property model.page ist no set. It's think it's not a bug in the >> scope plugin, because a >> tried this >> http://www.vitarara.org/cms/struts_2_cookbook/using_a_conversation_scope >> ConversationInterceptor and have the same problems. >> >> Here are the main classes of my demo process. You can test the attached >> demo >> project to see the problem: >> >> Action: >> >> public class TestAction extends BaseAction<Model> { >> >> // Working version without a BaseAction >> //public class TestAction extends ActionSupport { >> // >> // @In(scope = ScopeType.CONVERSATION) >> // @Out(scope = ScopeType.CONVERSATION) >> // protected Model model; >> // >> // public Model getModel() { >> // return model; >> // } >> // >> // public void setModel(Model model) { >> // this.model = model; >> // } >> >> @Begin >> public String start() { >> model = new Model(); >> model.setPage(1); >> return SUCCESS; >> } >> >> @End >> public String end() { >> return "success"; >> } >> } >> >> BaseAction: >> >> public class BaseAction<TYPE> extends ActionSupport >> { >> @In(scope = ScopeType.CONVERSATION) >> @Out(scope = ScopeType.CONVERSATION) >> protected TYPE model; >> >> public TYPE getModel() { >> return model; >> } >> >> public void setModel(TYPE model) { >> this.model = model; >> } >> } >> >> Model: >> >> public class Model >> { >> private int page; >> >> public int getPage() { >> return page; >> } >> >> public void setPage(int page) { >> this.page = page; >> } >> } >> >> struts.xml: >> >> <?xml version="1.0" encoding="UTF-8" ?> >> <!DOCTYPE struts PUBLIC >> "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" >> "http://struts.apache.org/dtds/struts-2.0.dtd"> >> >> <struts> >> >> <constant name="struts.devMode" value="true" /> >> >> <package name="test" namespace="/" extends="struts-default"> >> >> <interceptors> >> <interceptor name="bean-scope" >> class="com.googlecode.scopeplugin.ScopeInterceptor" /> >> </interceptors> >> >> <action name="start" class="example.ui.TestAction" method="start"> >> <interceptor-ref name="bean-scope" /> >> <interceptor-ref name="defaultStack" /> >> <result name="success" >> type="redirect-action">/success</result> >> </action> >> >> <action name="success" class="example.ui.TestAction"> >> <interceptor-ref name="bean-scope" /> >> <interceptor-ref name="defaultStack" /> >> <result name="success">/test/start.jsp</result> >> </action> >> >> <action name="end" class="example.ui.TestAction" method="end"> >> <interceptor-ref name="bean-scope" /> >> <interceptor-ref name="defaultStack" /> >> <result name="success">/test/end.jsp</result> >> </action> >> >> >> </package> >> </struts> >> >> start.jsp: >> >> <%@ page contentType="text/html; charset=UTF-8"%> >> <%@ taglib prefix="s" uri="/struts-tags"%> >> >> <html> >> <head> >> <title>Start</title> >> </head> >> >> <body> >> <s:form action="end"> >> <!-- page is only set if no base action is used--> >> Page: <s:property value="model.page" /> >> <s:submit value="End" /> >> </s:form> >> </body> >> </html> >> >> http://www.nabble.com/file/p17404381/testapp.zip testapp.zip >> -- >> View this message in context: >> http://www.nabble.com/model-conversation-scope-doesn%27-t-work-as-property-in-a-base-action-class-tp17404381p17404381.html >> Sent from the Struts - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/model-conversation-scope-doesn%27-t-work-as-property-in-a-base-action-class-tp17404381p17405367.html Sent from the Struts - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]