`

Struts2流程总结

阅读更多
Struts 流程总结
1、Web.xml:
         <filter>
   <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher
   </filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

2、前台页面:
在前台页面中使用Struts2的标签库,基本操作是导入标签库需要的文件,然后可以使用标签,操作如下:
   <%@ taglib prefix="s" uri="/struts-tags" %>

    <s:form action="pointConverter">
        <s:textfield name="point.x" label="x"></s:textfield>
   <s:textfield name="point.y" label="y"></s:textfield>
   <s:textfield name="age" label="age"></s:textfield>
   <s:textfield name="username" label="username"></s:textfield>
   <s:textfield name="date" label="birthday"></s:textfield>
   <s:submit label="submit"></s:submit>
    </s:form>
  
   如果使用普通的标签进行表单的书写,那么在表单中action属性后面格式需要是.action。本例中表示为pointConverter.action。如果使用

Struts2标签可以只写入pointConverter。

3、配置文件:
strtus.xml
<struts>
<package name="struts2" extends="struts-default">
<action name="pointConverter" class="com.test.action.PointAction">
<result name="success">/output.jsp</result>
<result name="input">/input.jsp</result>
</action>
</package>

</struts>

4、Action: 进入到Action之后会首先调用validate()方法进行数据的校验,然后再调用execute()方法。如果不写validate()方法,则直接调

用execute()方法,execute方法中返回可以调用常量SUCCESS、ERROR、INPUT等,只要在配置文件中配置为success、error 、input即可,
  package com.test.action;

import java.util.Calendar;
import java.util.Date;

import com.opensymphony.xwork2.ActionSupport;

public class PointAction extends ActionSupport
{
private String username;

private String password;

private String repassword;

private int age;

private Date birthday;

private Date graduation;

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;
}

public String getRepassword()
{
return repassword;
}

public void setRepassword(String repassword)
{
this.repassword = repassword;
}

public int getAge()
{
return age;
}

public void setAge(int age)
{
this.age = age;
}

public Date getBirthday()
{
return birthday;
}

public void setBirthday(Date birthday)
{
this.birthday = birthday;
}

public Date getGraduation()
{
return graduation;
}

public void setGraduation(Date graduation)
{
this.graduation = graduation;
}

@Override
public String execute() throws Exception
{
return SUCCESS;
}

@Override
public void validate()
{
System.out.println("validate~~~~~~~~~~~~~~~~~~~");

if(null == username || username.length() < 6 || username.length() > 10)
{
this.addFieldError("username","username invalid");
}
if(null == password || password.length() < 6 || password.length() > 10)
{
this.addFieldError("password","password invalid");
}
else if(null == repassword || repassword.length() < 6 || repassword.length() > 10)
{
this.addFieldError("repassword","re-password invalid");
}
else if(!password.equals(repassword))
{
this.addFieldError("password","two passwords not the same");
}
if(age < 1 || age > 150)
{
this.addFieldError("age","age invalid");
}
if(null == birthday)
{
this.addFieldError("birthday","birthday invalid");
}
if(null == graduation)
{
this.addFieldError("graduation","graduation invalid");
}
if(null != birthday && null != graduation)
{
Calendar c1 = Calendar.getInstance();
c1.setTime(birthday);

Calendar c2 = Calendar.getInstance();
c2.setTime(graduation);

if(!c1.before(c2))
{
this.addFieldError("birthday","birthday should be before graduation");
}
}

}
}
本文章没有涉及到数据类型转换和数据校验等内容,只是简单的阐述Struts2的基本流程。

分享到:
评论

相关推荐

    struts2总结大全

    本总结将深入探讨Struts2的核心概念、关键功能和实用技术,以帮助开发者全面理解并熟练运用这一框架。 一、Servlet模板 在Struts2中,Servlet模板是一种处理请求和响应的方式。它通过拦截器链对请求进行处理,然后...

    Struts2输入校验总结

    输入校验的流程在Struts2中是结构化的,涉及多个步骤: 1. **类型转换**:首先,Struts2框架使用类型转换器将HTTP请求中的字符串参数转换为相应的Java类型,如Integer、Date等,并将这些值设置为Action类的属性。 ...

    struts2学习总结

    综上所述,Struts2相较于Struts1在设计思路上进行了许多改进,这些改进不仅提高了框架本身的灵活性和可扩展性,也为开发人员提供了更加简洁高效的工作流程。通过简化控制器类的设计、增强依赖注入支持、优化验证机制...

    Struts2知识点总结

    Struts2的配置通常包括action映射、拦截器栈配置、全局结果配置等部分,开发者可以利用这些配置来控制请求的处理流程,实现所需的功能。 此外,Struts2的生命周期是从用户向服务器发送请求开始,经过...

    Struts2初步使用总结

    ### Struts2初步使用总结 #### 一、Struts2原理概述 **1.1 为什么要用Struts2** 在探讨为何使用Struts2之前,我们先简要回顾一下Struts2的一些基本特点: - **模块化设计**:Struts2采用模块化的架构设计,使得...

    Struts2课堂学习总结

    4. **执行流程**:当用户发起请求时,Tomcat根据`web.xml`配置找到Struts2过滤器。过滤器处理请求,解析`struts.xml`,根据URL找到对应的Action,执行Action的业务逻辑,最后返回Result指定的视图给浏览器。 5. **...

    struts调用流程总结,适用于初学者.

    总结来说,Struts通过ActionServlet、ActionForm、Action Mapping和Action协同工作,实现了从用户请求到业务逻辑处理再到视图展示的完整流程。初学者理解这个流程对于深入学习Struts框架和构建基于Struts的应用程序...

    struts工作流程.doc

    整个流程可以总结为: 1. 用户请求到达ActionServlet。 2. ActionServlet读取配置文件,创建ActionForm Bean,分派请求给Action。 3. Action执行业务逻辑,与模型交互,返回ActionForward。 4. ActionServlet根据...

    struts2大总结

    通过观看"83_尚学堂马士兵_Struts2_总结.avi"这个视频教程,可以深入学习这些知识点,并通过实际操作来巩固理解。该教程可能涵盖了如何创建一个简单的Struts2应用,配置Action,处理表单提交,使用拦截器,以及异常...

    Struts2个人总结

    Struts2是一个强大的Java web开发框架,主要用于构建和维护可扩展且易于管理的企业级应用程序。它的核心是基于MVC(Model-View-Controller)设计模式,使得开发者可以更有效地分离业务逻辑、数据处理和用户界面。...

    Struts2技术总结

    ### Struts2技术总结 #### 一、Struts2概述及特点 Struts2作为一款流行的Java Web开发框架,继承了Struts1的优点并进行了大量的改进与创新,使其成为了一个非常值得学习的目标。Struts2相比Struts1,最大的优势...

    struts2源码分析总结

    Struts2是一个流行的Java Web框架,它简化了MVC(模型-视图-控制器)架构的实现。本文将深入探讨Struts2的源码分析,特别是关于StrutsPrepareAndExecuteFilter的初始化过程,这是Struts2的核心组件之一,负责处理...

    Struts2工作流程

    ### Struts2工作流程详解 #### 一、概述 Struts2是一个开源的Web应用程序框架,它是基于Java Servlet API设计的。Struts2框架的主要优势在于它能够简化Web应用程序的开发过程,使得开发者可以更加专注于业务逻辑的...

    struts2的总结

    #### 四、Struts2的运行流程 1. **过滤器(FilterDispatcher)**:所有的HTTP请求首先会被Struts2的过滤器接收,该过滤器会根据配置信息找到对应的Action处理请求。 2. **拦截器(Interceptors)**:在执行Action...

Global site tag (gtag.js) - Google Analytics