`
yjfkk
  • 浏览: 3221 次
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

[求助]如何使用DynaAction和DynaActionForm

阅读更多
本人开发一论坛系统,为减少代码量,想把所有关于一张表的操作放在一个DynaAction中.form使用可重用的DynaActionForm.但开发过程一点都不顺利,不知道错在哪里了.请教高人.还有一个DynaAction有多个jsp页面的action指向,在struts-config.xml文件中如何配置.
jsp中
<form id="form1" name="form1" method="post"
action="user.do?method=login">
<div align="center">
<label>
用户名
<input type="text" name="username">
</label>
<label for="textfield">
密码
</label>
<input type="password" name="password" id="textfield">

<br>
</div>
<div align="center">
<input type="submit" name="Submit" value="提交" id="Submit">
<a href="register.jsp">注册</a>
</div>
</form>

userAction:
/*
* Generated by MyEclipse Struts
* Template path: templates/java/JavaClass.vtl
*/
package com.yourcompany.struts.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.DynaActionForm;
import org.apache.struts.actions.DispatchAction;

import com.yourcompany.struts.form.UserForm;

import DAO.userDAO;

import forusertable.Usertable;
import forusertable.UsertableDAO;



/**
* MyEclipse Struts
* Creation date: 07-07-2007
*
* XDoclet definition:
* @struts.action path="/user" name="userForm" input="/login.jsp" scope="request" validate="true"
* @struts.action-forward name="loginsuccess" path="loginsuccess.jsp"
* @struts.action-forward name="regsuccess" path="regsuccess.jsp"
* @struts.action-forward name="loginfail" path="loginfail.jsp"
* @struts.action-forward name="regfail" path="regfail.jsp"
*/
public class UserAction extends DispatchAction {
/*
* Generated Methods
*/

/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
/*DynaActionForm userForm = (DynaActionForm) form;*/// TODO Auto-generated method stub
UserForm userForm=(UserForm)form;
return null;
}
public ActionForward login (ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
System.out.print("arrive here");
UserForm userForm=(UserForm)form;
System.out.print("arrive here");
String username=(String)userForm.getUsername();
String password=(String)userForm.getPassword();
System.out.print("username:"+username+",password:"+password);
forusertable.Usertable user=new Usertable();
user.setUsername(username);
user.setPassword(password);
UsertableDAO userdao=new UsertableDAO();
if(userdao.login(user)){
return mapping.findForward("loginsuccess");
}
else{
return mapping.findForward("loginfail");
}
}
ActionForward tset (ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
System.out.print("arrive here tset");
return mapping.findForward("loginsuccess");
}
public ActionForward register(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response){
DynaActionForm userForm=(DynaActionForm)form;

Usertable user=new Usertable();
UsertableDAO userdao=new UsertableDAO();
String username=(String)userForm.get("username");
String password=(String)userForm.get("password");
String realname=(String)userForm.get("realname");
String email=(String)userForm.get("email");
Integer age=(Integer)userForm.get("age");
user.setUsername(username);
user.setAge(age);
user.setEmail(email);
user.setPassword(password);
user.setRealname(realname);
userdao.save(user);
return mapping.findForward("regsuccess");
}
}
struts-config.xml:
    <action
      attribute="userForm"
      input="/login.jsp"<--就是这里,如果有多个页面要用到这个action应该如何配置啊?-->
      name="userForm"
      path="/user"
      scope="request"
      type="com.yourcompany.struts.action.UserAction"
      parameter="method" >
      <forward name="loginsuccess" path="/loginsuccess.jsp" />
      <forward name="regsuccess" path="/regsuccess.jsp" />
      <forward name="loginfail" path="/loginfail.jsp" />
      <forward name="regfail" path="/regfail.jsp" />
    </action>
分享到:
评论

相关推荐

    struts1配置文件中DynaActionForm的使用

    用jsp、action、struts-config.xml配置文件,举例说明了DynaActionForm 在struts1 中的作用。

    Struts framework中DynaActionForm(动态表单)介绍及应用

    DynaActionForm(动态表单)介绍及应用,Struts framework中,ActionForm对象的封装及应用,通过Struts framework中的DynaActionForm类及其子类可以实现动态的ActionForm ,动态的ActionForm允许你通过Struts的配置...

    dynaActionForm.exe

    好东西 struts

    Struts原理(二)

    在"Struts原理(二)"中,我们将深入探讨如何利用Struts框架的一些高级特性,如DispatchAction、资源文件的国际化、错误信息的显示、DynaActionForm以及实体对象作为Form属性的使用。 **掌握DispatchAction** ...

    Struts_学习笔记之ActionForm

    使用ActionForm可以简化表单数据的处理和验证,提高开发效率和代码的可读性。同时,ActionForm还提供了动态Bean和表单验证功能,提高了开发的灵活性和灵活性。 6. ActionForm的应用场景 ActionForm广泛应用于各种...

    struts7验证框架 struts7验证框架

    Struts7验证框架是用于Java Web开发中的一个...总的来说,Struts7验证框架和DynaActionForm是Struts框架中提高开发效率和代码质量的重要工具,它们帮助开发者轻松管理表单数据和验证逻辑,降低了J2EE应用程序的复杂性。

    Spring快速入门教程

    Spring框架是Java开发中广泛使用的轻量级应用程序框架,尤其在企业级应用开发中扮演着核心角色。本教程旨在帮助初学者快速...通过这个快速入门教程,你应该能开始独立地探索和使用Spring框架来构建更复杂的应用程序。

    spring教程

    8. 为Web层创建Action和Model(DynaActionForm),实现对Web层的请求处理。 9. 填充JSP文件并创建相应的Action,使得Web层可以通过浏览器进行CRUD操作。 10. 进行功能测试,验证Action的CRUD操作是否正常工作。 11. ...

    struts动态表单实例

    5. **JSP页面**: 在JSP页面中,你可以使用`&lt;html:form&gt;`标签来创建表单,通过指定DynaActionForm的名称,可以动态地生成表单元素。`&lt;html:dynamic&gt;`标签用于根据ActionForm的属性动态生成输入控件。 6. **控制器层...

    动态form编写

    **使用DynaActionForm和DynaValidatorForm** 在Struts中,`DynaActionForm`和`DynaValidatorForm`是两种常用的动态表单处理类。 - **DynaActionForm**:提供了一种动态管理表单字段的方式,字段可以在运行时添加...

    北大青鸟 ACCP5.0 SSH总结

    例如,通过`&lt;form-bean&gt;`标签配置DynaActionForm,并在Java代码中使用`DynaActionForm`的get和set方法获取或设置值。 - **BeanUtils**:Jakarta Commons BeanUtils库提供了方便的Java Bean操作,可以简化对象属性的...

    struts_dynForm用例

    要使用StrutsDynForm,首先需要在Struts配置文件(struts-config.xml)中配置相应的Action和FormBean。Action通常会处理HTTP请求,而FormBean则用来封装表单提交的数据。配置示例如下: ```xml ...

    BBS论坛的详细设计

    在 Struts 中,我们可以使用标签和 Java Bean,只有这样一来,才能够把业务逻辑和页面表示彻底分开,提高了系统设计的规范性和代码的可重用性,为后期升级提供方便。 View Help 组件 View Help 组件是一种 ...

    SSH培训纲要--培训的课程目标,课程大纲,课程安排

    同时,要掌握Struts的运行机制、配置步骤和主要API接口,例如ActionForm和DynaActionForm。此外,还需要熟悉Struts的五大标签库以及如何扩展Struts功能以适应复杂的应用需求。 **Spring**框架则是一个全方位的应用...

    SSH整合文档(带实例)

    在本文的实例中,使用了DynaActionForm和DispatchAction来动态管理表单字段和处理动作,同时借助Tiles来组织页面布局。另外,自定义标签被用来处理分页和身份验证这些常见的Web需求。 Spring框架则扮演了核心协调者...

    struts1.0的上传代码

    这里,我们使用了`DynaActionForm`,它是Struts 1.0中动态表单的实现,可以方便地处理不同类型的表单字段。 3. **创建表单Bean**:在Struts应用中,表单Bean(通常是DynaActionForm)用于封装用户输入的数据。对于...

    [摘]Struts 学习笔记之ActionForm

    这篇学习笔记将深入探讨ActionForm的作用、使用方法以及它在Struts架构中的位置。 在MVC模式中,ActionForm扮演了模型层和控制器层之间的桥梁角色。当用户在视图层(通常是HTML表单)填写信息并提交后,这些数据会...

Global site tag (gtag.js) - Google Analytics