在正常操作中,每一个Action必须对应一个ActionForm,但是这样一来就造成ActionForm过多,所以为了解决此类问题,在Struts中专门提供了ActionForm以解决ActionForm过多的问题。

配置一个动态ActionForm,包含两个属性----struts-config-xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"><struts-config><form-beans><form-bean name="newsForm"type="org.apache.struts.action.DynaActionForm"><form-property name="title" type="java.lang.String"></form-property><form-property name="content" type="java.lang.String"></form-property></form-bean></form-beans><global-exceptions /><global-forwards /><action-mappings><action path="/news" type="org.lxh.struts.action.NewsAction"attribute="newsForm" name="newsForm" input="/news.jsp"scope="request" /></action-mappings><message-resources parameter="org.lxh.struts.ApplicationResources" />
</struts-config>

定义输入表单----news.jsp

<%@ page language="java" pageEncoding="GBK"%><%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>
<html:html lang="true">
<head><html:base /><title>hello.jsp</title>
</head>
<body><html:form action="news.do" method="post"> 标题:   <html:text property="title"></html:text><br>内容: <html:text property="content"></html:text><br><html:submit value="提交"></html:submit><html:reset value="重置"></html:reset></html:form>
</body>
</html:html>

接收参数----NewsAction.java

package org.lxh.struts.action;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.DynaActionForm;public class NewsAction extends Action {public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) {DynaActionForm dynaForm = (DynaActionForm) form ;String title = dynaForm.getString("title") ;String content = dynaForm.getString("content") ;System.out.println("title --> " + title);System.out.println("content --> " + content);return null;}
}

动态ActionForm相关推荐

  1. ActionForm

    ActionForm 必须扩展自org.apache.struts.action.ActionForm 1.DynaActionForm:动态ActionForm 动态ActionForm是为了避免标 ...

  2. 从动态表单得到的一些思考

    前些日子有一位前辈说如果一个C#出身的项目经理来领导一群java程序员,那么这些多半会疯掉.java相对于C#而言开发效率比较低. 在javaWeb开发总是有一大堆的配置文件要去配置和修改,随着工程的 ...

  3. 动态FormBean

    Struts允许开发人员在配置文件中声明一个formbean,而无须手工针对每一个表单设计一个Formbean. 步骤: 1. 配置一个元素, 将type属性设置为 DynaActionForm. 2 ...

  4. 【Struts】——ActionForm

    上篇示例中我们看到了ActionForm,这篇我们详细了解一下: ActionForm是用于封装用户的请求参数的.上篇我们也提到了:(在ActionForm中设置用到的数据,需和表单保持一致.因为提交 ...

  5. Struts 中的ActionForm

    Struts 中定义了一些JavaBeans,主要是以ActionForm为父类扩展开来的,如下图: ① org.apache.struts.action包中 public abstract clas ...

  6. java struts技术_java技术框架之:struts

    一:struts的优缺点 优点: 1.开源: 2.利用Struts提供的taglib可以大大节约开发时间. 3.维护扩展比较方便.通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有 ...

  7. 一个简单的struts的例子

    index.jsp 代码 <%@ page language="java" import="java.util.*" pageEncoding=" ...

  8. struts1.3执行流程分析

    这是在去年9月份,读了一下struts1.3的源码,记录了一下执行流程.发出来和大家分享一下吧.这个流程还是很经典的吧.有空再读读struts2的^_^ 执行流程: 1.ActionServlet处理 ...

  9. 快速学习使用springmvc、strust2、strust1以及它们的对比

    1.如何快速学习springmvc 首先,我们需要在复制spring相关的jar包到web-inf/lib里面去,然后在web.xml里面加入以下代码,相当于springmvc里面的servlet,这 ...

  10. Jakarta Struts应用的七个经验

    编者按:本文叙述了作者在运用Struts过程中来之不易的若干经验和心得.如果你是jsp和servlet开发Web应用的Java程序员,并且也正在考虑采用基于Struts的构建方法的话,那么你会在这里发 ...

最新文章

  1. 人工智能值得关注的技术研究方向
  2. 前四次作业--个人总结
  3. python字典一键多值_Python实现字典一个键对应多个值
  4. 面试必会系列 - 1.2 Java 集合,源码讲解
  5. SAP CRM Fiori应用My Opportunity标题显示不正确的问题分析
  6. 7-34 任务调度的合理性 (25 分)(思路加详解+兄弟们冲呀)
  7. 例子:好友列表选中效果
  8. AC日记——3的幂的和 51nod 1013
  9. matlab画半球面,Matlab 绘制3D半球
  10. 矩形微带天线贴片尺寸计算
  11. vb6判断操作系统版本-从win95到win7
  12. python 创意编程 全国-全国青少年创意编程与智能设计大赛Python创意编程比赛
  13. 小白的jquery学习之路之04效果新闻向上无缝循环显示
  14. 讯飞离线语音合成接入
  15. 小飞学习Docker之使用容器
  16. 基于OpenCV实现海岸线变化检测
  17. android studio获取IMEI码
  18. 从零开始的Vue学习
  19. docker-compose搭建elasticsearch集群,整合head
  20. com.netflix.discovery.DiscoveryClient - DiscoveryClient_UNKNOWN/

热门文章

  1. 引入jackson-dataformat-xml的影响
  2. 硬盘模式IDE和AHCI
  3. Zipf,Power-laws,Pareto分布
  4. 如何用计算机做函数,office2010中如何利用公式或函数进行计算
  5. imageJ的二次开发(全)
  6. 【数据分析入门】R语言绘图语句总结
  7. 差分管电路图_差分放大器的非线性应用
  8. android 对话框Dialog拦截activity事件通知
  9. Scintilla的高级技法
  10. python tkinter:单位换算小工具完整代码