struts2把表单数据封装到实体类里
<form method="post" action="">
<input type="text" name="user.uname" />
<input type="text" name="user.upass" />
<input type="submit" value="提交" />
</form>
User类中必须有setUser方法:
public void setUser(User user) {
this.user= user;
}
这样struts2才可以完成自动组装
将你的action类实现ModelDriven接口,再实现其中的方法,在action中实例化出你的实体类的实例,让它在所实现的ModelDriven接口的方法中返回.ModelDriven接口会将返回的实体类的实例放在ValueStatck也就是值栈的栈顶.将你表单中input的名称命名的跟你实体类中的set方法后面的那部分首字母小写后的名称一致,并一一对应,当表单提交过来的时候,它会从值栈的栈顶搜索是否有属性可以与你提交过来的input中的名称相匹配的,如果找到,就会将值赋上
所以说只要你将你的实体类的实例放在栈顶,而你的表单中的input的名称与实体类中的属性名称一致的话,它就会自动的将值给赋上
表单:
struts2把表单数据封装到实体类里的更多相关文章
- JavaWeb -- Struts1 使用示例: 表单校验 防表单重复提交 表单数据封装到实体
1. struts 工作流程图 超链接 2. 入门案例 struts入门案例: 1.写一个注册页面,把请求交给 struts处理 <form action="${pageContext ...
- Struts2中将表单数据封装到List和Map集合中
一.将表单数据封装到Map集合中 1.创建MapAction类 import cn.entity.User; import com.opensymphony.xwork2.ActionSupport; ...
- struts2 获取表单数据封装到list和map集合
一.获取封装表单数据到list集合 示例 获取用户输入的用户名和密码并输出用户名. jsp页面 list[0]表示list中的第一个user对象 Java代码 二.封装表单数据到map集合 示例 获取 ...
- struts2:表单标签
目录 表单标签1. form标签2. submit标签3. checkbox标签4. checkboxlist标签5. combobox标签6. doubleselect标签7. head标签8. f ...
- 关于struts2防止表单重复提交
struts2防表单重复提交有两种方式. 其一是action的重定向,跳转时设置type为从一个action跳转到另一个action或者另一个页面, 使用户提交后,所停留的位置,不是当前处理数据的Ac ...
- struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input
原文地址:struts2 jsp表单提交后保留表单中输入框中的值 下拉框select与input jsp页面 1 function dosearch() {2 if ($(&q ...
- mybatis根据数据库表结构自动生成实体类,dao,mapper
首先, pom需要引入 <!-- mysql --> <dependency> <groupId>mysql</groupId> <artifac ...
- struts2:表单标签续(datetimepicker标签)
18. datetimepicker标签 18.1 拷贝JAR包 在struts-2.x.x压缩包的lib目录中拷贝struts2-dojo-plugin-2.3.8.jar到WEB-INF/lib目 ...
- HTTP上下文表单内容转为实体对象
using ServiceStack.Web; using System; using System.Collections.Generic; using System.Linq; using Sys ...
随机推荐
- pip / conda 导出和安装环境组件 requirements.txt
pip 批量导出包含环境中所有组件的requirements.txt文件 pip freeze > requirements.txt pip 批量安装requirements.txt文件中包含的 ...
- DataTable相关
设置主键列: this.tableTestData.PrimaryKey = new DataColumn[] { this.tableTestData.Columns[0] };
- partial分部类
意义 1.源代码控制 2.将一个类或结构分成不同的逻辑单元 3.代码拆分
- MYSQL中GROUP BY的细节及SELECT语句顺序
一.GROUP BY语句的细节 我们知道,在sql中,GROUP BY语句主要用来给数据分组,以便能对每个组进行聚集计算,但是GROUP BY也有一些限制需要知道: 1. GROUP BY字句可以包含 ...
- pthread_mutex_init函数与pthread_mutexattr_init函数
直接上英文解释: pthread_mutex_init()如下: NAME pthread_mutex_init, pthread_mutex_destroy - initialise or dest ...
- 魔法变量*args 和 **kwargs
其实并不是必须写成*args 和**kwargs. 只有变量前面的 *(星号)才是必须的. 你也可以写成*var 和**vars. 而写成*args 和**kwargs只是一个通俗的命名约定. *ar ...
- Spring思维导图(IOC篇)
写在前面 写过java的都知道:所有的对象都必须创建:或者说:使用对象之前必须先创建.而使用ioc之后,你就可以不再手动创建对象,而是从ioc容器中直接获取对象. 就好像我们无需考虑对象的销毁回收一样 ...
- SpringMVC 细节学习
使用Spring MVC,配置DispatcherServlet是第一步 DispatcherServlet是前置控制器,配置在web.xml文件中的 .拦截匹配的请求,Servlet拦截匹配规则要 ...
- 我的ubuntu14.04配置
完全卸载java(移除所有 Java相关包 (Sun, Oracle, OpenJDK, IcedTea plugins, GIJ)) 转载修改, 原文见:http://blog.csdn.net/s ...
- Python - excel 详解
安装 pip install xlrd # 读xlspip install xlwt # 写xlspip install xlutils # 改写xls 读取 Excel ...