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頁(yè)面里用到的標(biāo)簽,定義了不同類(lèi)型的multibox標(biāo)簽用法
簡(jiǎn)單定義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 /> 用循環(huán)的方式創(chuàng)建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的定義了兩個(gè)數(shù)組,設(shè)置checkbox的默認(rèn)值
Result JSP里用到的標(biāo)簽,打印結(jié)果
<logic:iterate name="multiboxForm" property="colors" id="color"> <bean:write name="color" /> </logic:iterate> |
ProcessMultiboxAction的處理非常簡(jiǎn)單
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 閱讀(109) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): 16 案例分析