ActionForm的概念:
ActionForm用于封装用户请求的参数。而请求参数是通过JSP页面的表单域传过来的,因此要保证ActionForm的参数要与提交表单域的提交参数名字相同。
编写一个ActionForm的步骤:
第一步:编写ActionForm Java类。
编写一个ActionForm java类时要继承org.apache.struts.action.ActionForm这个类。
如:
package com.lovo.form;
import org.apache.struts.action.ActionForm;
public class LoginForm extends ActionForm {
...
}
继承org.apache.struts.action.ActionForm后,记得提供与页面表单域的请求参数一一对应的属性。
假如有如下form表单。
...
<form action="login.do">
<input type="text" name="username">
<input type="password" name="password">
<input type="submit" name="subBin">
</form>
...
那么我的ActionForm Java类里面的属性就因该有如下这些:
public class LoginForm extends ActionForm {
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
并给每个参数提供符合规范的get和set方法。
注意:事实上,如果不考虑javabean规范,那么参数本身的名字和提交表单域的参数的名字可以不一样,但只要set方法与提交表单域参数放在一起是符合javabean的set方法的命名规范,也是可以的。
如:
ActionForm类中有这个属性:private String username1;
假如请求参数为:username
然后ActionForm类中有如下set方法:
public void setUsername(String username) {
this.username1 = username;
}
这样也是可以的,只是一般不会这样做而已。
第二步:配置struts-config.xml。
ActionForm java类写完以后,就应该到配置文件了。
示例:
<form-beans>
<form-bean name="loginForm" type="com.lovo.LoginForm"></form-bean>
</form-beans>
ActionForm的配置:
最外面是form-beans,有一个“s”,表示其中可以有多个form-bean。而当中的form-bean的name属性可以随便命名,type属性是配置你写的AciotnForm类的全限定名。
ActionForm配置好以后,事情还没有完,因为现在只是书写了一个ActionForm,并没有纳入实际应用中。接下来就是配置Action了,把写好了的ActionForm绑定到Aciotn身上。如何绑定?示例:
<action-mappings>
<action path="/login"
input="/error.jsp"
type="com.lovo.LoginAction"
name="loginForm"
attribute="loginInfo"
scope="request"
validate="true">
</action>
</action-mappings>
绑定ActionForm的属性是name,这个name的值必须和上面form-bean的name值保持一致,这样Action就绑定了一个form-bean。
input:如果你在ActionForm中重写了,validate这个方法,那么如果在返回ActionErrors中有值,也就是出现了错误,那么它就要跳转到某个页面,这个页面就是用input来指定。
validate:validate用于确定是否在ActionForm中做验证。
scope:是指定包封装好的请求参数放在那个作用域里面,默认是session里面,你也可以使用这个属性把作用域设置成request。
attribute:这个是指定作用域里面封装请求参数的键值对中的key,如果不配置此属性,则默认是你action中的name值。
分享到:
相关推荐
法国Embouchure地区沉积物岩性数据集 内容 该数据集由O. Puertas在2014年发布,详细记录了法国Embouchure地区的EMBOU岩芯沉积物的岩性特征。数据集中包含了39个数据点,提供了关于该地区沉积环境的重要信息。欲了解更多信息,请访问"PANGAEA数据库中的原始数据" ()。
BH1750光照强度传感器
基于多目标粒子群算法的分布式电源选址定容与优化配置研究——基于MATLAB的程序实践与优化探讨,基于多目标粒子群算法的分布式电源选址定容与优化配置MATLAB程序:含规划模型、算法求解及参考文章赠阅,分布式电源选址定容与优化配置MATLAB程序基于多目标粒子群算法 (1)该程序为基于多目标粒子群算法的分布式电源优化配置与选址定容程序,期刊lunwen源程序,配有该lunwen。 (2)本程序可有效配置分布式电源容量与安装位置。程序与lunwen包含的内容有综合成本、网损、电压稳定裕度为目标函数建立分布式电源的规划模型、多目标粒子群算法、IEEE-69节点的算例求解。 (3)赠送若干极为相似的参考lunwen,均为本人研究该课题期间认为非常系统、全面、易懂、基础的文章。 ,1. 多目标粒子群算法; 2. 分布式电源优化配置; 3. 分布式电源选址定容; 4. MATLAB程序; 5. 综合成本; 6. 网损; 7. 电压稳定裕度; 8. IEEE-69节点; 9. 参考lunwen(或相关文章),基于多目标粒子群算法的分布式电源选址定容与优化配置MATLAB程序:成本、网损与电压稳定的综
sediment core GeoB17620-1的文档记录 内容 Lucchi, RG; Sabbatini, A; Nicolaisen, LS 等(2014年)提供的sediment core GeoB17620-1的文档记录。详细信息请访问"此链接" ()以获取完整的数据集文档和相关信息。请注意,文档的具体大小未知。
该项目是一款多语言心理咨询网站前端开发设计源码,包含7166个文件,涵盖2646个PHP文件、1419个JavaScript文件、650个GIF文件、417个HTML文件、318个PNG文件、263个LESS文件、236个Vue文件、219个JSON文件、183个Markdown文件、142个文本文件。主要采用JavaScript进行开发,同时融入PHP、TypeScript、Shell等多种语言技术。这套源码旨在提供全面的心理咨询服务网站界面设计。
显微镜下染色体图像分割系统:新手入门宝典
物品识别与分类系统源码和数据集:改进yolo11-HWD
【C#】Grpc扩展是一个基于GRPC的简单微服务框架
【GO】基于go实现的生日提醒定时任务
深海沉积物岩芯GeoB17624-3的文档记录 内容 Lucchi, RG; Sabbatini, A; Nicolaisen, LS 等(2014)提供的文档包括了对深海沉积物岩芯GeoB17624-3的研究资料。该研究的具体数据集大小未知,但已通过PANGAEA数据库发布,可供进一步学术研究和参考。可通过以下链接访问完整数据集:"" ()。
外科工具实例分割系统源码和数据集:改进yolo11-convnextv2
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
AI人脸识别学习,使用opencv2
内容概要:本通知介绍了西安邮电大学将举办的2024年第29届“21世纪杯”全国大学生英语演讲比赛的具体情况。活动目的是提升学生讲好中国故事的能力,促进文化交流与构建人类命运共同体。此次活动的主题是传统文化的复兴。主要内容涵盖比赛的背景介绍、参赛对象限定以及具体报名方式及时间节点。此外还详细讲解了演讲主题及视频上传的要求。评分标准从内容质量、语言表述、整体表现等方面进行了明确规定。获奖学生不仅将得到相应的表彰奖励,还有可能代表西安邮电大学参与到更高层级的比赛当中去。 适合人群:全体在校本科生,尤其是对外语学习感兴趣的师生;以及对于传统文化复兴有兴趣的年轻人。 使用场景及目标:此活动鼓励学生积极参与英语演讲竞技,提高自己的英语表达能力和综合素质,同时也有助于推广中国传统优秀文化传播。 其他说明:研究生(青年组)需要直接通过官网报名并且不受本次比赛限制;此外,该次比赛的成绩还将影响其他英语演讲系列竞赛的表现评估体系。未尽事宜将在日后进一步发布。
该项目是一款采用Java编写的自然管理后台设计源码,包含共计126个文件,涵盖95个Java源代码文件、18个XML配置文件、5个YAML文件、4个Git忽略文件、4个属性文件以及其他类型文件。此系统专注于后台管理功能,适用于各种管理场景。
太阳能光伏面板分割系统:基础知识铺垫
光伏混合储能直流微网中基于PI控制的直流母线电压下垂控制模型研究与应用,光伏混合储能直流微网中基于PI控制的直流母线电压下垂控制模型研究与应用,光伏混合储能直流微网直流母线电压下垂控制控制模型 在基于储能单元SOC的下垂控制方法基础上,下垂系数不断变化,通过加入PI二次控制,将控制器输出量与储能单元变器输出电压和母线电压稳定值相叠加,对母线电压的跌落和和上升进行补偿和抑制。 效果明显 也可以改mppt控制方法或者改局部遮阴 ,光伏混合储能、直流微网、下垂控制、PI二次控制; SOC下垂控制方法; 电压稳定性提升; MPPT控制方法调整。,光伏混合储能直流微网电压控制模型:动态下垂系数与PI二次控制
STM32+MPU6050+OLED
手指五指图像分割系统:50+创新改进
手指关节分割系统:视觉算法突破