001 package tagSamples.netui.checkBoxGroup;
002
003 import com.bea.wlw.netui.pageflow.FormData;
004 import com.bea.wlw.netui.pageflow.Forward;
005 import com.bea.wlw.netui.pageflow.PageFlowController;
006
007 /**
008 * This page flow shows how to handle submissions from a <netui:checkBoxGroup>.
009 *
010 * Note that the Form Bean SubmitForm contains a String[] to hold the
011 * multiple selections submitted from the <netui:checkBoxGroup>.
012 *
013 * @jpf:controller
014 * @jpf:view-properties view-properties::
015 * <!-- This data is auto-generated. Hand-editing this section is not recommended. -->
016 * <view-properties>
017 * <pageflow-object id="pageflow:/tagSamples/netui/checkBoxGroup/Controller.jpf"/>
018 * <pageflow-object id="action:begin.do">
019 * <property value="80" name="x"/>
020 * <property value="100" name="y"/>
021 * </pageflow-object>
022 * <pageflow-object id="action:submit.do#tagSamples.netui.checkBoxGroup.Controller.SubmitForm">
023 * <property value="360" name="x"/>
024 * <property value="100" name="y"/>
025 * </pageflow-object>
026 * <pageflow-object id="action:backToIndex.do">
027 * <property value="500" name="x"/>
028 * <property value="220" name="y"/>
029 * </pageflow-object>
030 * <pageflow-object id="action-call:@page:index.jsp@#@action:submit.do#tagSamples.netui.checkBoxGroup.Controller.SubmitForm@">
031 * <property value="276,300,300,324" name="elbowsX"/>
032 * <property value="92,92,92,92" name="elbowsY"/>
033 * <property value="East_1" name="fromPort"/>
034 * <property value="West_1" name="toPort"/>
035 * </pageflow-object>
036 * <pageflow-object id="page:index.jsp">
037 * <property value="240" name="x"/>
038 * <property value="100" name="y"/>
039 * </pageflow-object>
040 * <pageflow-object id="action-call:@page:show.jsp@#@action:backToIndex.do@">
041 * <property value="500,500,500,500" name="elbowsX"/>
042 * <property value="144,160,160,176" name="elbowsY"/>
043 * <property value="South_1" name="fromPort"/>
044 * <property value="North_1" name="toPort"/>
045 * </pageflow-object>
046 * <pageflow-object id="page:show.jsp">
047 * <property value="500" name="x"/>
048 * <property value="100" name="y"/>
049 * </pageflow-object>
050 * <pageflow-object id="forward:path#success#index.jsp#@action:begin.do@">
051 * <property value="116,160,160,204" name="elbowsX"/>
052 * <property value="92,92,92,92" name="elbowsY"/>
053 * <property value="East_1" name="fromPort"/>
054 * <property value="West_1" name="toPort"/>
055 * <property value="success" name="label"/>
056 * </pageflow-object>
057 * <pageflow-object id="forward:path#success#show.jsp#@action:submit.do#tagSamples.netui.checkBoxGroup.Controller.SubmitForm@">
058 * <property value="396,430,430,464" name="elbowsX"/>
059 * <property value="92,92,92,92" name="elbowsY"/>
060 * <property value="East_1" name="fromPort"/>
061 * <property value="West_1" name="toPort"/>
062 * <property value="success" name="label"/>
063 * </pageflow-object>
064 * <pageflow-object id="forward:path#success#index.jsp#@action:backToIndex.do@">
065 * <property value="464,320,320,276" name="elbowsX"/>
066 * <property value="212,212,103,103" name="elbowsY"/>
067 * <property value="West_1" name="fromPort"/>
068 * <property value="East_2" name="toPort"/>
069 * <property value="success" name="label"/>
070 * </pageflow-object>
071 * <pageflow-object id="formbeanprop:tagSamples.netui.checkBoxGroup.Controller.SubmitForm#states#java.lang.String[]"/>
072 * <pageflow-object id="formbeanprop:tagSamples.netui.checkBoxGroup.Controller.SubmitForm#defaultState#java.lang.String[]"/>
073 * <pageflow-object id="formbean:tagSamples.netui.checkBoxGroup.Controller.SubmitForm"/>
074 * </view-properties>
075 * ::
076 */
077 public class Controller
078 extends PageFlowController
079 {
080 private String[] availableStates = null;
081
082 public String[] availableOptions = {"option1", "option2", "option3"};
083
084 /**
085 * @jpf:action
086 * @jpf:forward name="success" path="index.jsp"
087 */
088 protected Forward begin()
089 {
090 return new Forward("success");
091 }
092
093 /**
094 * @jpf:action
095 * @jpf:forward name="success" path="show.jsp"
096 */
097 protected Forward submit(SubmitForm form)
098 {
099 getRequest().setAttribute("selections", form.states);
100 return new Forward("success", form);
101 }
102
103 /**
104 * Populate the list of states
105 */
106 protected void onCreate()
107 {
108 availableStates = new String[] {"ME", "MA", "NH", "VT", "RI", "CT"};
109 }
110
111 /**
112 * JavaBean getter for accessing the list of states.
113 */
114 public String[] getAvailableStates() {return availableStates;}
115
116 /**
117 * @jpf:action
118 * @jpf:forward name="success" path="index.jsp"
119 */
120 protected Forward backToIndex()
121 {
122 return new Forward("success");
123 }
124
125 public static class SubmitForm extends FormData
126 {
127 private String[] defaultState = {"MA", "ME"};
128 private String[] states;
129
130 public void setStates(String[] states)
131 {
132 this.states = states;
133 }
134
135 public String[] getStates()
136 {
137 return this.states;
138 }
139
140 public void setDefaultState(String[] defaultState)
141 {
142 this.defaultState = defaultState;
143 }
144
145 public String[] getDefaultState()
146 {
147 return this.defaultState;
148 }
149 }
150 }
|