• DynaActionForm(动态ActionForm)的使用


    在struts中利用DynaActionForm(动态ActionForm)可以节省代码的编写。

    1.在struts-config.xml中配置DynaActionForm:加入这个Form中有三个属性

    <form-bean name="MyDynaActionForm"  type="org.apache.struts.action.DynaActionForm">
      <form-property name="propertyOne" type="com.enrising.cpmis.web.dto.setup.propertyOne"/>
      <form-property name="propertyTwo" type="java.lang.Object"/>
      <form-property name="rebuildByDisaster" type="model.RebuildByDisaster"/>

    </form-bean>

    <action
      path="/attchment"
      type="web.struts.action.common.AttchmentAction"
      name="MyDynaActionForm"
      scope="request"
      parameter="method"
      unknown="false"
      validate="true"
    >
    <forward name="initattachment" path="/business/common/annex.jsp" redirect="false"/>
    </action>

    2.jsp页面

    <html:form action="/capitalSplitAction.do" method="post">

    <html:hidden property="propertyOne.activityId" styleId="activityId" />
    <bean:define id="dto" name="capitalSplitActionForm"
    property="propertyOne" />
    <table class="table" cellspacing="0" cellpadding="0">

    <tr><td><html:hidden property="propertyOne.planName" /></td></tr>

    <tr><td><html:hidden property="propertyTwo.planNameTwo" /></td></tr>

    <tr><input name="submit1" type="button" class="bt_xiafa" value="下达" onclick="submitCapital();"></td></tr>

    </table>

    3.在Action中我们可以通过map的get方法来得到页面传到后台的Form属性对象(这个Action继承DispatchAction)

    public ActionForward submitCapital(ActionMapping mapping,ActionForm form,HttpServletRequest request,
                              HttpServletResponse response) throws Exception {

      PropertyOne propertyOne = (PropertyOne)((DynaActionForm) form).get("propertyOne"); //得到页面传到后台的属性对象

      PropertyTwo propertyTwo= (PropertyTwo)((DynaActionForm) form).get("propertyTwo");

      //从而通过这个对象来得到它的属性

      String planName = propertyOne.getPlanName();

      ……

      //同理注册一个DynaActionForm

      ((DynaActionForm) form).getMap().put("PropertyOne", propertyOne); 

      

    }

  • 相关阅读:
    参考SQLHelper编写的OracleHelper
    微软原版SQLHelper类
    AppFabric 版本区分
    ASP.NET (HttpModule,HttpHandler)
    ASP.NET内部原理(HttpHandler和HttpModule)
    IIS 7.0, ASP.NET, pipelines, modules, handlers, and preconditions
    理解I/O Completion Port
    asp.net mvc跨域filter
    c#生成MD5字符串
    生成格式化的json
  • 原文地址:https://www.cnblogs.com/javatech/p/3681400.html
Copyright © 2020-2023  润新知