Struts动态表单的创建

一.在struts中如何实现动态表单的创建

(1)第一步:创建一个简单的注册页面:

  <body>
    <form action="/DynamicForm/register.do?flag=register" method="post">
    	u:<input type="text" name="name"/><br/>
    	p:<input type="password" name="password"/><br/>
    	<input type="submit" value="注册用户" />
    </form>
  </body>

(2)第二步:在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>

		<!-- 动态创建表单 表单是配置出来的  不是定义出来的-->
		<!-- 这里的type是在  Struts 1.3 Libraries中的struts-core-1.3.8.jar 下的DynaActionForm.class的路径-->
		<form-bean name="userForm" type="org.apache.struts.action.DynaActionForm">
			<!-- 这里的name即是表单中的属性  -->
			<form-property name="name" type="java.lang.String" />
			<form-property name="password" type="java.lang.String" />
			<form-property name="name" type="java.lang.String" />
		</form-bean>
	</form-beans>
	<global-exceptions />
	<global-forwards />
	<action-mappings>
		<action
	      attribute="userForm"
	      input="/WEB-INF/register.jsp"
	      name="userForm"
	      parameter="flag"
	      path="/register"
	      scope="request"
	      type="com.lc.struts.action.RegisterAction"
	      cancellable="true" >
	      <forward name="registerok" path="/WEB-INF/ok.jsp" />
		</action>
	</action-mappings>
	<message-resources parameter="com.lc.struts.ApplicationResources" />
</struts-config>

(3)创建处理业务逻辑的action :RegisterAction

过程如下:

1.新建Action

package com.lc.struts.action;

//导包即可

public class RegisterAction extends DispatchAction {

	public ActionForward register(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		DynaActionForm userForm = (DynaActionForm) form;

		/*
		 * 从动态表单中取出数据的方法
		 */
		String name = userForm.get("name").toString();
		String password = userForm.get("password").toString();

		System.out.println(name+""+password+"");

		return mapping.findForward("registerok"); //成功后返回的页面

	}
}

(4)struts的视图如下:

时间: 2024-11-08 15:42:07

Struts动态表单的创建的相关文章

javaweb日记选(动态表单及表的实现)

Java语言也可以创建动态表单,如javaweb创建表单及表 应用场景 项目中往往需要动态的创建一个表单,或者添加一个新的数据模板,这时候因为需要在运行时动态的创建表以及动态的维护表字段甚至表关系 使得普通java解决方案变得困难重重. 实现工具 Hibernate + Spring + Groovy +Freemarker Hibernate 作用很简单负责创建数据库表这样可以避免我们自己去写复杂的sql和判断. Spring 作为桥梁起到连接纽带的作用 Groovy 做为动态语言,在项目运行

动态表单数据库设计

需求: 能够根据数据库在界面动态显示表单,包括表单类型.名称等,并且必须提供 添加新表单,修改表单等功能. 为了满足客户不断的需求变化,有时候需要为某商品增加.修改.删除.属性,这样的话以往的数据库表就很难实现, 因为表的字段是定死了 如果你需要增加一个属性的时候 ,就必须修改表,听说这是不允许的~~. 所以我们要设计一个灵活的数据库 下面以电脑设备为例: pc 现有属性 name cpu ram disk 现在我们要为pc添加一个 mainboard 属性. 既然必须提供增加表单,那么我们创建

动态表单设计

公司前辈要我做一个动态表单数据库设计,思维愚钝,无法下手.后来前辈帮我把表结构画出来了,才茅塞顿开 现在和大家分享一下. 需求: 能够根据数据库在界面动态显示表单,包括表单类型.名称等,并且必须提供 添加新表单,修改表单等功能. 为了满足客户不断的需求变化,有时候需要为某商品增加.修改.删除.属性,这样的话以往的数据库表就很难实现, 因为表的字段是定死了 如果你需要增加一个属性的时候 ,就必须修改表,听说这是不允许的~~. 所以我们要设计一个灵活的数据库 下面以电脑设备为例: pc 现有属性 n

2017.2.28 activiti实战--第六章--任务表单(一)动态表单(待)

学习资料:<Activiti实战> 第六章 任务表单(一)动态表单 内容概览:本章要完成一个OA(协同办公系统)的请假流程的设计,从实用的角度,讲解如何将activiti与业务紧密相连. 第四章中讲解了两种表单:动态表单和外置表单的区别.这里将使用不同的表单来完成相同的功能. 1 动态表单:<activiti:formProperty> 2 外置表单:<activiti:formKey>

struts练习-表单提交

防止表单重复提交练习: 做struts练习之前,首先有一些准备工作要做,那就是建立一个web工程,另外就是导入jar包和配置web.xml 我一般都是将以下jar包一次性导入(,可能一个知识点的练习不需要那么多) 以上jar下载 web.xml中需要添加过滤器: 配置如下内容: 完成以上配置之后,在src下建立struts.xml(当然暂时可以不用)! 下面就可以进行你要做的工作了! 下面的例子是我的防止表单重复提交的练习: 1.发送请求的页面: <%@ page language="ja

MFC属性表单的创建

一个属性表单由一个或多个属性页组成.它有效地解决了大量信息无法在一个对话框上显示这一问题. 1.创建属性页 为了创建属性表单,首先需要创建属性页,后者对应的MFC类是CPropertyPage,该类生成的对象代表了属性表单中一个单独的属性页. 在资源编译器下添加3个属性页资源,并修改这三个属性页资源的ID及标题(Caption属性),属性页的标题就是最终在属性页上显示的选项卡的名称.有三种类型的属性页,如图: 说明:如果知道了属性页资源与对话框资源之间的属性区别,也可以在程序中先增加一个普通对话

动态表单

毕业后,一直断断续续地在做这个,腻了! 从傻瓜式的字段定义: 到可视化设计: 页面效果还是一个样--丑: 可是这工具的用户,一直是我,ONLY ME! 动态表单

Struts防止表单重复提交

1.什么是表单重复提交 > 在不刷新表单页面的前提下:         >> 多次点击提交按钮        >> 已经提交成功, 按 "回退" 之后, 再点击 "提交按钮".        >> 在控制器响应页面的形式为转发情况下,若已经提交成功, 然后点击 "刷新(F5)" > 注意:        >> 若刷新表单页面, 再提交表单不算重复提交        >> 若使

Angular动态表单生成(二)

ng-dynamic-forms源码分析 在两个开源项目中,ng-dynamic-forms的源码相较于form.io,比较简单,所以我还勉强能看懂,下面就我自己的理解进行简单分析,若有不对的地方,请大家多多指正. 整体结构分析 ng-dynamic-forms的主要代码均分布在packages文件夹下,其中的Core是各种控件的抽象,其他的文件夹是各个UI框架的具体封装,每个文件夹都是一个可独立编译运行的项目. Core文件夹内容分析 Core文件夹做的事情,基本上是对于各种组件.布局的抽象,