1.创建页面文件
<body>
<form action="regist.do" method="get">
name:<input type="text" name="userName">
age :<input type="text" name="age">
address:<input type="text" name="address">
<input type="submit" name="button1">
</form>
</body>
2.在struts-config.xml文件中配置DynaActionForm
<form-beans >
<form-bean name="DynaRegistForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="userName" type="java.lang.String" />
<form-property name="age" type="java.lang.Integer" />
<form-property name="address" type="java.lang.String" />
</form-bean>
</form-beans>
<action-mappings >
<action name="DynaRegistForm" path="/regist" type="com.rhcj.RegistAction">
<forward name="success" path="/success.jsp" />
</action>
</action-mappings>
3. 在Action中使用DynaActionForm
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
//页面对象
DynaActionForm dynaForm = (DynaActionForm)form;
String name = dynaForm.getString("userName");
Integer age = (Integer)dynaForm.get("age");
String address = dynaForm.getString("address");
//封装业务对象BO
Student s = new Student();
s.setUserName(name);
s.setAge(age);
s.setAddress(address);
StudentBiz sBiz = new StudentBiz();
sBiz.save(s);
return mapping.findForward("success");
}
分享到:
相关推荐
3. ** DynaActionForm**: 这是Struts中的动态表单类,相比于传统的ActionForm,DynaActionForm不需要预先定义字段。它的字段可以在运行时动态添加,这使得表单的结构可以根据服务器端的业务逻辑改变。 4. **Struts-...
#### 4. **表单验证** 为了增强表单的健壮性和用户体验,通常需要对用户输入进行验证。这可以通过在`struts-config.xml`中配置`<action>`元素的`validate`属性,并结合`validation.xml`文件来实现。 ```xml ``` ...
4. **JSP页面**:创建一个HTML表单,包含一个`<input type="file">`元素让用户选择要上传的文件。Struts的`<html:form>`标签和`<html:file>`标签可以帮助我们更好地与ActionForm绑定: ```jsp 上传"/> ``` ...
例如,通过`<form-bean>`标签配置DynaActionForm,并在Java代码中使用`DynaActionForm`的get和set方法获取或设置值。 - **BeanUtils**:Jakarta Commons BeanUtils库提供了方便的Java Bean操作,可以简化对象属性的...
4. ActionForm的作用域 ActionForm可以在request、session或application作用域中使用。在request作用域中,ActionForm实例会被创建和销毁;在session作用域中,ActionForm实例会被多个请求共享。 5. ActionForm的...
4. **动作调度(DispatchAction)**:`DispatchAction`是Struts框架中的一个动作类,用于处理多个请求到同一动作的情况。它根据请求参数的不同,分发到不同的方法处理,实现了动作的复用和逻辑分离。 5. **包含动作...
2. **DynaActionForm**: 动态表单Bean,允许在运行时动态定义字段。 **Action组件技术** Action组件是处理业务逻辑的核心,主要有两种: 1. **Action**: 基础Action类,你需要重写`execute`方法来实现业务逻辑。 2...
4. **编写Struts配置文件**: - `struts-config.xml`是Struts应用的主要配置文件,遵循`struts-config_1_2.dtd`。 - 文件结构包括:`<data-sources>`, `<form-beans>`, `<global-exceptions>`, `<global-forwards>...
4. 配置Hibernate和Spring,包括设定数据库连接和事务管理。 5. 使用Hibernate实现数据访问对象(UserDAO),通过DAO进行数据的CRUD操作。 6. 创建Manager层来声明事务处理,保证业务逻辑的正确执行。 7. 对Struts ...
4. Tiles:提供了Tiles组件,这是一个布局管理工具,可以方便地创建和管理复杂的页面布局。 5. Upload:包含了Struts的文件上传组件,使得用户能够上传文件至服务器。 6. Validator:包含了Struts的验证组件,用于...
4. **动态表单的优势** - **灵活性**:不需要为每个表单创建单独的Java类,使得处理动态或未知字段的表单变得更加容易。 - **减少代码量**:减少了大量Java类的编写,降低了维护成本。 - **易于扩展**:当需要添加或...
4. **页面部分**: - 使用JSP技术创建登录页面。 - 页面包含表单元素,用于收集用户输入的数据。 #### 三、解决中文乱码问题 - **Action部分**: - 可以在Action类中添加对中文乱码的处理逻辑,例如设置请求或...
4. **表单验证**:加载指定的ActionForm,并将表单数据绑定到该对象上,执行`validate()`方法进行验证。 5. **执行Action**:如果验证通过,则调用Action的`execute()`方法执行登录逻辑。 6. **返回结果**:根据登录...
同时,对于DynaActionForm类型,由于其动态属性的特性,某些标签的属性配置会有所不同,如不能在JSP中直接指定`name`和`type`属性。总的来说,熟练掌握Struts配置文件和相关标签,能够帮助开发者更高效地构建功能...
在struts.xml中定义一个DynaActionForm,然后在Action中通过DynaActionForm获取属性。 9. **文件上传**:Struts2支持文件上传功能。在JSP中使用`enctype="multipart/form-data"`来指定文件上传的表单类型。在...
4. **性能优化**:合理设置缓存策略,减少不必要的数据库访问。 综上所述,Struts1+Spring+Hibernate的整合涉及多个层面的技术细节,通过合理的配置和设计可以充分发挥各自的优势,构建出高效稳定的Web应用系统。
4. **事务管理**:Spring 提供了统一的事务管理机制,可以很容易地集成到应用程序中,支持本地事务和分布式事务。 5. **强大的社区支持**:Spring 拥有一个庞大的开发者社区,提供了大量的文档、教程和技术支持。 ...
- **struts-bean.jar**:提供数据绑定和标签库支持,包括BeanUtils和DynaActionForm。 - **struts-html.jar**:包含HTML表单相关的标签库,如表单元素、链接、图像等。 - **struts-logic.jar**:提供逻辑控制标签,...