本人很懒,相当懒,一个方法能写一遍绝不写两遍。
而普通的ActionForm必须要在自己写好多get 、set方法,很烦,幸好有DynaActionForm解脱了我。
但是今天想使用DynaActionForm传对象的时候碰到问题了,准确点说就是我希望DynaActionForm实现如下的功能:
public class UserActionForm extends Actions{
private User user;
public User getUser();
public User setUser();
}
可是我不知道DynaActionForm能不能传对象,还是只能传一些普通的类型。查找http://struts.apache.org/的User Guide,上面说
The types supported by DynaActionForm include:
java.math.BigDecimal
java.math.BigInteger
boolean and java.lang.Boolean
byte and java.lang.Byte
char and java.lang.Character
java.lang.Class
double and java.lang.Double
float and java.lang.Float
int and java.lang.Integer
long and java.lang.Long
short and java.lang.Short
java.lang.String
java.sql.Date
java.sql.Time
java.sql.Timestamp
我晕了,难道不行。
不死心,查找Struct in Action里面又说:
“你可以在使用ActionForm 的任何地方使用DynaActionForm”。搞得我很迷惑。
最后的结论是:可以的。经过我一天的试验。
user.jsp如下写:
<html:form action="/shangJia">
name : <html:text name="userForm" property="user.name" />
<html:errors property="name" />
street : <html:text name="userForm" property="user.name" />
<html:errors property="street" />
phone : <html:text name="userForm" property="user.name" />
<html:errors property="phone" />
<br />
<html:submit />
<html:cancel />
</html:form>
struts-config.xml如下写:
<form-beans>
<form-bean name="userForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="shangJia" type="com.test.Hibernate.User" />
</form-bean>
</form-beans>
<action-mappings>
<action attribute="userForm" input="/user.jsp" name="newShangJiaForm" path="/user" scope="request" type="com.web669.Hibernate.ShangJiaAction" />
</action-mappings>
UserAction.java如下写:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
DynaActionForm shangJiaForm = (DynaActionForm) form;
User user = (User) shangJiaForm.get("user");
userDAO.save(user);
return mapping.findForward("indexGO");
}
即可。方便啊
分享到:
相关推荐
用jsp、action、struts-config.xml配置文件,举例说明了DynaActionForm 在struts1 中的作用。
DynaActionForm(动态表单)介绍及应用,Struts framework中,ActionForm对象的封装及应用,通过Struts framework中的DynaActionForm类及其子类可以实现动态的ActionForm ,动态的ActionForm允许你通过Struts的配置...
- JSP页面负责显示数据和接收用户输入,通过Struts标签库(如struts-tiles或struts-bean标签)与ActionForm或DynaActionForm交互。 通过以上步骤,你可以使用Eclipse构建一个基本的Struts1.2应用程序。不过,实际...
本文对 Struts 1.x 的核心概念和技术进行了详细介绍,包括配置文件解析、ActionForm 和 DynaActionForm 的使用、数据转换以及表单验证等方面。希望这些内容能帮助读者更好地理解和掌握 Struts 1.x 框架的使用方法。
这篇学习笔记将深入探讨ActionForm的作用、使用方法以及它在Struts架构中的位置。 在MVC模式中,ActionForm扮演了模型层和控制器层之间的桥梁角色。当用户在视图层(通常是HTML表单)填写信息并提交后,这些数据会...
- **动态ActionForm**:`org.apache.struts.action.DynaActionForm`,支持动态属性的增删改查。 #### 五、Struts1 连接池与多模块操作 **5.1 数据库连接池** Struts1可以集成C3P0等连接池,但文档中提到的问题...
这里,我们使用了`DynaActionForm`,它是Struts 1.0中动态表单的实现,可以方便地处理不同类型的表单字段。 3. **创建表单Bean**:在Struts应用中,表单Bean(通常是DynaActionForm)用于封装用户输入的数据。对于...
在"Struts原理(二)"中,我们将深入探讨如何利用Struts框架的一些高级特性,如DispatchAction、资源文件的国际化、错误信息的显示、DynaActionForm以及实体对象作为Form属性的使用。 **掌握DispatchAction** ...
05 Struts_05DynaActionForm : 相对应ActionForm来说,动态ActionForm只需要在配置文件中配置就可以了,但是它不能实现验证功能,演示人机交互实例。 06 Struts_06Filter : 中文编码的统一处理,通过Struct的请求...
为了解决这个问题,Struts引入了DynaActionForm,这是一种动态ActionForm,它允许开发者不再需要手动创建ActionForm类,而是通过配置文件(struts-config.xml)来定义表单字段及其属性。 DynaActionForm是基于org....
在struts.xml中定义一个DynaActionForm,然后在Action中通过DynaActionForm获取属性。 9. **文件上传**:Struts2支持文件上传功能。在JSP中使用`enctype="multipart/form-data"`来指定文件上传的表单类型。在...
2. **struts-bean.jar**:这个JAR文件包含了一些用于数据绑定和展示的类,如ValueStack、BeanUtils和 DynaActionForm。它们帮助将用户输入的数据映射到Java对象,并反之。 3. **struts-html.jar**:提供了各种HTML...
<controller processorClass="org.apache.struts.action.DynaActionForm"> <!-- Controller配置 --> <!-- 全局转发配置 --> <!-- 国际化资源配置 --> </struts-config> ``` - **web.xml**:作为...
标题和描述中指出的文档《Struts+Spring+Hibernate开发实例.pdf》包含了关于这三个流行的Java开源框架结合使用的示例代码和相关知识点。Struts负责视图与控制器部分,Spring负责业务逻辑层及依赖注入,Hibernate负责...
- **struts-bean.jar**:提供数据绑定和标签库支持,包括BeanUtils和DynaActionForm。 - **struts-html.jar**:包含HTML表单相关的标签库,如表单元素、链接、图像等。 - **struts-logic.jar**:提供逻辑控制标签,...
4. **commons-digester.jar**: Commons Digester,用于解析XML配置文件并将其转换为对象结构,Struts使用它来加载配置信息。 5. **commons-fileupload.jar**: Commons FileUpload,用于处理multipart/form-data类型...
5. **JSP页面**: 在JSP页面中,你可以使用`<html:form>`标签来创建表单,通过指定DynaActionForm的名称,可以动态地生成表单元素。`<html:dynamic>`标签用于根据ActionForm的属性动态生成输入控件。 6. **控制器层...
例如,你可以使用`org.apache.struts.action.DynaActionForm`动态表单类来注入数据源。 ```xml ``` 4. **在Action类中获取数据源**:在Action类中,通过`ActionServlet`的`getServletContext().lookup()`方法...
4. `struts-bean.jar`:包含了一些常用的Bean类,如 DynaActionForm,用于动态定义表单字段。 5. `struts-config.xml`:这是Struts配置文件,定义了Action和ActionMapping,以及与其他服务的连接。 通过阅读和理解...