`

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的基本流程。

分享到:
评论

相关推荐

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

    struts调用流程总结,适用于初学者.本人学的过程中总结的.如果有什么欠佳的还往提出..呵呵

    Struts2基础总结-1

    本文档中总结了struts2的配置文件的介绍,action 类的三种编写方法,Struts2框架执行流程,三种获取jsp中数据的方法,action类中数据封装的方法

    Struts2入门教程(全新完整版)

    十二、总结 本教程对struts2的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方提供的struts2结构图...

    struts2多年工作总结

    详细的介绍struts2.o的流程,图文并茂,多年的工作总结,发了不少时间

    自己在公司实习做的项目struts2 希望对你有所帮助

    自己在公司实习做的项目struts2 希望对你有所帮助

    struts2+spring+hibernate整合示例

    SSH整合示例(详情见我博客专栏)之前的博客我们总结了spring基础、spring分别整合struts2、hibernate、mybatis等,今天我们来同时整合下 struts、spring、hibernate,也就是所谓的 ssh 。 整合流程: 1 首先整合...

    struts实现流程

    struts流程,个人的一点总结,各位将就着看吧

    Struts2学习笔记

    struts2快速入门学习笔记,包含执行流程、验证、拦截器、国际化等的使用

    最全的struts1.2操作流程

    本人上传的这个word文档是自己倾心总结的关于struts1.2的使用及配置全过程对于学习struts的朋友们绝对有很大的帮助,下来看看吧,有大量的截图说明,一步步的操作,多加练习会有收获的。感谢您的支持。

    struts2.1宝典

    2、开发struts2流程 1 3、创建拦截器: 2 4.标签中引用资源文件内容 3 5.创建资源文件 3 6.Action中访问servlet API 3 7.Action访问资源文件 3 8.资源文件_各国代码 4 9.将struts.xml分开 4 10全局结果result 4 ...

    Struts2相关的面试题整理分享

    主要给大家总结整理了关于Struts2相关的面试题,文中先详细介绍了关于struts2的工作原理、工作流程、拦截器和过滤器的区别以及什么要使用Struts2,然后分享了总结的一些关于Struts2面试的一些问题,需要的朋友可以...

    基于struts2的留言板(缩减文档)

    基于struts2的留言板,包括需求分析,系统结构设计,数据库分析,流程图,代码及页面截图,总结等

    基于Struts技术的图书管理系统

    2.2.3 Struts的工作流程 10 第三章 系统需求分析 12 3.1 需求分析 12 3.1.1 问题定义 12 3.1.2 可行性研究 12 3.1.3 图书管理系统具体任务要求和运行过程 13 3.2 技术方面可行性分析 14 3.2.1 软件分析 14 3.2.2 ...

    基于Struts技术的图书管理系统 源码 mysql

    2.2.3 Struts的工作流程 10 第三章 系统需求分析 12 3.1 需求分析 12 3.1.1 问题定义 12 3.1.2 可行性研究 12 3.1.3 图书管理系统具体任务要求和运行过程 13 3.2 技术方面可行性分析 14 3.2.1 软件分析 14 3.2.2 ...

    Struts原理、开发及项目实施

    12 &lt;br/&gt;1、 摘要 2、 关键词 3、 Framework 4、 Struts的起源 5、 Struts工作原理 6、 Struts安装 7、 一个实例 8、 Struts优缺点 9、 Struts项目实施经验 10、 总结 ...

    struts实例教程

    此Struts实例教程是本人总结出来的带有实例和说明的一个很实用的一个教程,学习完本教程后你会很清楚Struts开发的流程以及每个文件的作用。

    jsp制作购物网站的毕业论文

    2-2 Struts优缺点 3-3 Struts的工作流程 第三章 网上书店详细设计 3-1 需求分析 3-2 总体设计 3-3 功能设计 3-4 数据库设计与实现 3-4-1 数据库的需求分析 3-4-2 创建数据表的脚本 3-5 网上书店基本流程 3-6 网上...

    基于ASPJSP的电子商务网站设计制作+源代码

    2-3 Struts的工作流程 第三章 网上书店详细设计 3-1 需求分析 3-2 总体设计 3-3 功能设计 3-4 数据库设计与实现 3-4-1 数据库的需求分析 3-4-2 创建数据表的脚本 3-5 网上书店基本流程 3-6 网上书店各页面功能 3-7 ...

    SSH2框架的搭建步骤-教程文档大全

    一次下载,SSH2框架的搭建步骤 全部文档资料都有...SSH2框架搭建流程及注意事项 SSH2框架搭建详细说明 myeclipse ssh框架搭建教程 SSH框架总结 Myeclipse10下搭建SSH框架(图解)Struts2.1 + Spring3.0 + Hibernate3.3等

    Struts+Spring+Hibernate整合详解与典型案例源代码.

    搞定J2EE 技术全面:涵盖Java Web开发的主流技术和主流框架;...示例丰富:提供了大量高质量和从实际项目总结的示例,有较高的复用性; 项目经典:通过项目的经典开发流程来讲解项目,并对代码进行了详细解释。

Global site tag (gtag.js) - Google Analytics