首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏行者常至

    Struts1 页面提交到ActionForm,form为null

    分析:既然知道form为null,说明,能够进入到action里面去,为什么为空呢?可能性最大的一个原因,就是:formbean没有和struts中的action配置文件关联起来。 ---- 1、检查,struts的配置文件struts-config.xml中的form-bean配置有没有错。 <form-bean name="loginForm" type="com.qbz.struts.form.LoginForm" /> ---- 2、检查,struts的配置文件struts-config.x

    82820发布于 2018-08-10
  • 来自专栏行者常至

    struts工作流程

    . ---- (1)检索和用户请求匹配的ActionMapping实例,如果不存在就返回请求路径无效信息; (2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到 ActionForm对象中; (3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法; (4)如果ActionForm的validate()方法返回

    84530发布于 2018-08-10
  • Struts知识辅导(2--1)

    ActionForm的校验 <struts-config> <form-beans> <form-bean name="xxx" type="<em>ActionForm</em>的类全名"> < --配置ActionForm类--> </form-beans> <action-mappings> <action path="/basic/login" type="alan.struts.basic.LoginAction basic/fail.jsp" redirect="false"(重定向,默认false)/> </action> <action-mappings> </struts-config> ActionForm ActionForm的校验,如果表单中的数据符不符合规定格式的要求,ActionForm的validate()方法会返回一个ActionError对象,ActionError对象中封装了一个或多个应用发现的校验错误

    16210编辑于 2025-10-14
  • 来自专栏互联网大杂烩

    Struts1和Struts2的区别和对比

    捕获输入: • Struts1 使用ActionForm对象捕获输入。所有的ActionForm必须继承一个基类。因为其他JavaBean不能用作ActionForm,开发者经常创建多余的类捕获输入。 动态Bean(DynaBeans)可以作为创建传统ActionForm的选择,但是,开发者可能是在重新描述(创建)已经存 在的JavaBean(仍然会导致有冗余的javabean)。 Struts2也支持ActionForm模式。rich对象类型,包括业务对象,能够用作输入/输出对象。这种 ModelDriven 特性简化了taglib对POJO输入对象的引用。

    1.1K40发布于 2018-08-22
  • 来自专栏云计算linux

    Struts 1高级应用

    2.2 使用实体对象简化ActionForm 在进行Struts开发时,我们经常需要编写ActionForm或者配置动态Form来封装表单数据,但是当数据库表增减字段、业务逻辑发生变化时,我们需要修改相关的实体类 、ActionForm和struts-cofig.xml文件,维护工作十分繁琐。 根据以往的经验我们发现:ActionForm和实体类通常非常的相似。例如,在第一章的登录案例中,实体类和ActionForm的代码如示例2.8所示。 ​ ,即把实体类作为ActionForm的属性来使用。 注意:​ 在使用实体类作为ActionForm的属性时,必须在ActionForm中实例化实体类,参看示例2.10中的粗体代码。

    35010编辑于 2024-12-17
  • 来自专栏python3

    Spring AOP 本质(3)

    actionForm, ServletRequest servletRequest, ServletResponse servletResponse) throws java.lang.Exception { /* compiled code */ } public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm actionForm, http.HttpServletRequest httpServletRequest, http.HttpServletResponse httpServletResponse actionForm, http.HttpServletRequest httpServletRequest, http.HttpServletResponse httpServletResponse actionForm, http.HttpServletRequest httpServletRequest, http.HttpServletResponse httpServletResponse

    53920发布于 2020-01-06
  • 来自专栏云计算linux

    Struts 1基础入门

    示例1.5​ import org.apache.struts.action.ActionForm; public class LoginForm extends ActionForm{ private 表1-1-3 <form-bean>元素的主要属性 ​属性​ ​说明​ name 用来设置ActionForm的名字,该名字必须是唯一标识符 type 用来设置ActionForm的完整类名 接下来配置业务逻辑控制器 在这个对话框中通过相应的设置即可完成ActionForm的创建。 图中③处用来设置ActionForm的父类,默认选择第一项org.apache.struts.action.Action .Form。图中④处用来设置ActionForm的完全类名。 把查询出来的管理员信息封装到ActionForm中,可以新建一个ActionForm或者直直接使用AddForm。

    82810编辑于 2024-12-17
  • 来自专栏IT技术圈(CSDN)

    基于SSH框架的人力资源管理系统设计与实现

    "queryDepartment"); } // 部门信息保存 public ActionForward insertDepartment(ActionMapping mapping, ActionForm operationDepartment"); } } //部门信息删除 public ActionForward deleteDepartment(ActionMapping mapping, ActionForm this.objectDao = objectDao; } // 培训察看操作 public ActionForward queryTrain(ActionMapping mapping, ActionForm , form, request, response); } //添加培训操作 public ActionForward saveTrain(ActionMapping mapping, ActionForm this.objectDao = objectDao; } //薪资删除 public ActionForward deletePay(ActionMapping mapping, ActionForm

    1.2K10发布于 2020-09-15
  • 来自专栏互联网大杂烩

    Structs框架

    通常由一组Actionform Bean表示,ActionForm封装了Http请求的数据的类和对象,它是一个抽象类,每一个输入表单表示它的一个子类,配置文件structs-config.xml中保存了 Http的请求表单与具体的ActionForm类的映射关系。 2.如果ActionForm不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm对象中。 3.根据配置信息决定是否需要表单验证。 如果需要,就调用ActionForm的validate(). 4.如果ActionForm的validate()返回的是null或返回一个不包含ActionMessage的ActionErrors对象,

    99620发布于 2018-08-22
  • Struts知识辅导(2--2)

    注意:使用继承DispatchAction类的自定义的Action,只会匹配一个action路径,只能共享一个ActionForm,如果加上校验,会产生form表单的参数不一致的情况,会导致校验无法通过 例: public class MyAction extends DispatchAction{ ActionForward add(ActionForm form,HttpServletRequest 他和DispatchAction不同点就是可以去匹配多个action路径,这样也就是结决了共用ActoinForm的校验问题了,多个Action的路径使用同一的自定义Action类,这样就不用共享同一个ActionForm 例: public class MyAction extends MappingDispatchAction{ ActionForward add(ActionForm form,HttpServletRequest return mapping.findForward("add"); } public ActionForward delete(ActionMapping mapping,ActionForm

    15610编辑于 2025-10-14
  • 来自专栏全栈程序员必看

    java 对象拷贝方法beanutils_java copy方法

    二、用法: 如果你有两个具有很多相同属性的JavaBean,一个很常见的情况就是Struts里的PO对象(持久对象)和对应的ActionForm。 例如:一个用户注册页面,有一个User实体类和一个UserActionForm,我们一般会在Action里从ActionForm构造一个PO对象,传统的方式是使用类似下面的语句对属性逐个赋值: // 获取 ActionForm 表单数据 UserActionForm uForm = (UserActionForm) form; // 构造一个User对象 User user = new User(); 而我们使用 BeanUtils.copyProperties() 方法以后,代码量大大的减少,而且整体程序看着也简洁明朗,代码如下: // 获取 ActionForm 表单数据 UserActionForm

    1.2K20编辑于 2022-11-10
  • 来自专栏程序猿小亮的专栏

    【SSH进阶之路】Struts基本原理 + 实现简单登录(二)

    ActionServlet,前端控制器 1、根据相应的规则截取Http请求的URL 2、将Http请求分发到相应的Action处理 ActionForm,相当于实体 1、收集表单数据,将表单数据转换成相应的数据类型 class LoginAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm HttpServletResponse response) throws Exception { LoginActionForm laf =(LoginActionForm)form; //从ActionForm ; /** * 登录ActionForm,负责表单收集数据 * 表单的属性必须和ActionForm中的get和set的属性一致 * @author liang * */ @SuppressWarnings ("serial") public class LoginActionForm extends ActionForm { private String username; private String

    62020发布于 2021-01-29
  • Struts2 ---1 学习资料

    捕获输入:    Struts1使用ActionForm对象捕获输入。所有的ActionForm必须继承一个基类。因为其他JavaBean不能用作ActionForm,开发者经常创建多余的类捕获输入。 动态Bean(DynaBeans)可以作为创建传统ActionForm的选择,但是,开发者可能是在重新描述(创建)已经存在的JavaBean(仍然会导致有冗余的javaBean)。   Struts2也支持ActionForm模式。 表达式语言:    Struts1整合了JSTL,因此使用JSTL EL。这种EL有基本对象图遍历,但是对集合的索引属性的支持很弱。    类型转换:   Struts1 ActionForm属性通常都是String类型。Struts1使用Commons-Beanutils进行类型转换。 校验:    Struts1 支持在ActionForm的validate方法中手动校验,或者通过Commons Validator的扩展来校验。

    15910编辑于 2025-10-14
  • 来自专栏全栈程序员必看

    BeanUtils.copyProperties的用法「建议收藏」

    我们如果有两个具有很多相同属性的JavaBean,一个很常见的情况就是Struts里的PO对象(持久对象)和对应的ActionForm,传统的方式对属性逐个赋值: 如果按照上面那种赋值方式,是非常麻烦的 2、用法 如果有两个具有很多相同属性的JavaBean,一个很常见的情况就是Struts里的PO对象(持久对象)和对应的ActionForm。 例如:一个用户注册页面,有一个User实体类和一个UserActionForm实体类,我们一般会在Action里从ActionForm构造一个PO对象,传统的方式是使用类似下面的语句对属性逐个赋值: / / 获取 ActionForm 表单数据 UserActionForm uForm = (UserActionForm) form; // 构造一个User对象 User user = new 而我们使用 BeanUtils.copyProperties() 方法以后,代码量大大的减少,而且整体程序看着也简洁明朗,代码如下: // 获取 ActionForm 表单数据 UserActionForm

    5.3K20编辑于 2022-09-06
  • 来自专栏行者常至

    (02)Struts2_概述

    Struts2 VS Struts1 在体系结构方面更优秀: 类更少, 更高效: 在 Struts2 中无需使用 “ActionForm” 来封装请求参数. Struts1 升级到 Struts2: Struts1 里使用 ActionServlet 作为控制器; Struts2 使用了一个过滤器作为控制器 Struts1 中每个 HTML 表单都对应一个 ActionForm Struts1 的验证逻辑编写在 ActionForm 中; Struts2 中的验证逻辑编写在 Action 中.

    56410发布于 2018-09-19
  • Struts知识辅导(1)

    .*; public class LoginAction extends Action{  public ActionForward execute(ActionMapping mapping, ActionForm <struts-config>   <form-beans> <form-bean name="xxx" type="<em>ActionForm</em>的类全名"> <form-bean name="LoginForm       <forward name="xxx" path="xxx/xxx.jsp"/>     </action>   </action-mappings> </struts-config> ActionForm 是可以自动将表单中的数据封装成对象,当然,一个自定义ActionForm也是要遵守Struts规范的,也就是要继承于ActionForm,并在以上的struts-config.xml进行配置。

    16810编辑于 2025-10-14
  • 来自专栏二进制文集

    Struts1 增删改查

    javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm class AddAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm DeleteAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm UpdateAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm

    1.4K30发布于 2018-10-08
  • 来自专栏IT技术圈(CSDN)

    Java+Jsp+MySQL高校选课系统设计与实现(附源码下载地址)

    request * @param response * @return */ public ActionForward updateIsFinish(ActionMapping mapping, ActionForm findAll(mapping, form, request, response); } public ActionForward findAll(ActionMapping mapping, ActionForm request * @param response * @return */ public ActionForward showInsert(ActionMapping mapping, ActionForm return mapping.findForward("addCourse"); } public ActionForward courseInfo(ActionMapping mapping, ActionForm @param response * @return ActionForward */ public ActionForward execute(ActionMapping mapping, ActionForm

    3.4K30编辑于 2022-11-02
  • 来自专栏Java帮帮-微信公众号-技术文章全总结

    Apache、struts1、struts2文件上传下载的3种方式

    action-mappings> <message-resources parameter="com.etoak.struts.ApplicationResources" /> </struts-config> //ActionForm : public class MyActionForm extends ActionForm{ //上传文件的类型为FormFile,注意setter方法对应的name值 private FormFile public class MyAction extends Action{ @Override public ActionForward execute(ActionMapping mapping, ActionForm MyDownAction extends DownloadAction{ @Override protected StreamInfo getStreamInfo(ActionMapping mapping, ActionForm

    1.6K70发布于 2018-03-16
  • 来自专栏Java帮帮-微信公众号-技术文章全总结

    Java面试系列19-Struts2

    struts-config> 4 增加一个FormBean,类路径为test.UserForm,以下是这个类的内容 package test; import org.apache.struts.action.ActionForm ; public class UserForm extends ActionForm {  private String name="lpw";//用户名  private String ps="1111 org.apache.struts.action.ActionError; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm public final class RegistAction extends Action {  public ActionForward execute(ActionMapping mapping,ActionForm

    91460发布于 2018-03-19
领券