Cookbook-struts1.3.8案例分析-Multibox
Cookbook-struts1.3.8案例分析-Multibox
l Multibox
入口Action配置
<action path="/prepareMultibox" type="examples.multibox.PrepareMultiboxAction" name="multiboxForm" scope="request" validate="false"> <forward name="success" path="/jsp/multibox/Multibox.jsp" /> </action> <action path="/processMultibox" type="examples.multibox.ProcessMultiboxAction" name="multiboxForm" scope="request" input="/jsp/multibox/Multibox.jsp" validate="false"> <forward name="success" path="/jsp/multibox/MultiboxResults.jsp" /> </action> |
SuccessAction,繼承自Action,execute方法如下
public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { System.out.println("Prepare MultiboxActionForm ...."); /* * Prepare a String array of color names used to generate * checkboxes using html:multibox tags in the JSP page. */ String[] colors = { "Red", "Orange", "Yellow", "Green", "Blue", "Indigo", "Violet" }; request.setAttribute("colors", colors); /* * Set default checkbox values. */ String[] defaultFruits = { "Orange", "Banana", "Apple" }; String[] defaultColors = { "Orange", "Yellow" }; MultiboxActionForm multiboxForm = (MultiboxActionForm) form; multiboxForm.setFruits(defaultFruits); multiboxForm.setColors(defaultColors); // Return an ActionForward to the form return mapping.findForward("success"); } |
Form Jsp頁面里用到的標簽,定義了不同類型的multibox標簽用法
簡單定義checkbox <html:multibox property="fruits" value="Strawberry"/>Strawberry<br /> <html:multibox property="fruits" value="Apple"/>Apple<br /> <html:multibox property="fruits" value="Orange"/>Orange<br /> <html:multibox property="fruits" value="Pear"/>Pear<br /> <html:multibox property="fruits" value="Mango"/>Mango<br /> <html:multibox property="fruits" value="Banana"/>Banana<br /> <html:multibox property="fruits" value="Pineapple"/>Pineapple<br /> 用循環的方式創建checkbox <logic:iterate name="colors" id="color"> <html:multibox property="colors"> <bean:write name="color" /> </html:multibox> <bean:write name="color" /><br /> </logic:iterate> |
ActionForm的定義了兩個數組,設置checkbox的默認值
Result JSP里用到的標簽,打印結果
<logic:iterate name="multiboxForm" property="colors" id="color"> <bean:write name="color" /> </logic:iterate> |
ProcessMultiboxAction的處理非常簡單
public ActionForward execute( ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { if (isCancelled(request)) { return mapping.findForward("home"); } return mapping.findForward("success"); } |
posted on 2008-07-08 02:20 MingIsMe 閱讀(111) 評論(0) 編輯 收藏 所屬分類: 16 案例分析