struts2工具使用教程(struts2类型转化器详解(带例子))

:暂无数据 2026-08-18 06:30:06 :2

struts2工具使用教程(struts2类型转化器详解(带例子))

本篇文章给大家谈谈struts2工具使用教程,以及struts2类型转化器详解(带例子)对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录

struts2类型转化器详解(带例子)

  Struts 有两种类型转化器

  一种局部 一种全局

  如何实现

  第一步 定义转化器

  第二部 注册转化器

  下面做一个局部类型转化器的实例

  我们在上面一片日志说过有个变量date类型的 只有我们输入格式为yyyy MM dd的日期类型才会有效 否则则无效 那么我就需要一个类型转化当输入为yyyy MM dd的日期类型也能有效 该怎么做?

  这时候我们需要一个自定义的类型转化器

  首先我们定义一个类型转化器

  我们的类为 DateTypeChange java

  package fish;

  import java text SimpleDateFormat;

  import java util Date;

  import java util Map;

  import openversion impl DefaultTypeConverter;

  publicclass DateTypeChange extends DefaultTypeConverter{//首先得继承默认转化器类

  @Override

  public Object convertValue(Map《String Object》 context Object value

  Class toType) {//第二个参数是你的要转化的数据就是我们下面test Java的brithday属性的值 第三个参数是你传进来的数的值

  SimpleDateFormat format=new  SimpleDateFormat( yyyyMMdd );//创建一个日期类型的排版格式

  try {

  if(toType==Date class){

  String)value;

  return format parse(parm);

  }elseif(toType==String class){

  Date date=(Date)value;

  return format format(date);

  }

  } catch (Exception e) {

  }

  returnnull;

  }

  }

  类型转化器书写完毕 接着应该写一个注册文件关联类型转化器和你想转化属性的那个类(这个文件写在转化器的同一个包下)

  书写格式 要转化的属性的类型(不加包名) +conversion properties

  文件里面写 brithday= fish DateTypeChange

  顺便把其他几个test Java也写上

  package fish;

  import java util Date;

  publicclass Test {

  private String name;

  private String id;

  private Date brithday;

  public Date getBrithday() {

  returnbrithday;

  }

  publicvoid setBrithday(Date brithday) {

  this brithday = brithday;

  }

  public String getName() {

  returnname;

  }

  publicvoid setName(String name) {

  this name = name;

  }

  public String getId() {

  returnid;

  }

  publicvoid setId(String id) {

  this id = id;

  }

  public String execute(){

  return success ;

  }

  }

  接着 Struts xml

  《package name= fish namespace= /test extends= struts default 》

  《action name= redfish class= fish Test method= execute 》

  《param name= name 》xxxx《/param》

  《result  name= success 》/index jsp《/result》

  《/action》

  然后 MyJsp JSP

  《form action= /struts test /test/redfish action 》 

  《input type= text   name= username 》

  《input type= text name= id 》

  《input type= text name= brithday 》

  《input type= submit value= 确定 》

  最后 index JSP

  name=${name}《br》

  id= ${id}  《br》

  brithday=${brithday}《br》

  这时我们在index JSP页面中输入yyyyMMdd类型的日期类型时 struts 也能转化成日期格式处理了

  当然如果你想写全局转化器

  只要改properties文件

  将他移动到web inf/classess下 命名是

  xwrok conversion properties

  在里面的内容

  转化的类型(有包名的)=转化器(包名的)

  所以是这么写

  Java util Date= fish DateTypeChange

lishixinzhi/Article/program/Java/ky/201311/28598

struts2 工作流程

struts2的主要工作流程是这样的:

***隐藏网址***

其次,走一些过滤器,filter,然后进入闻名的struts2的总控FilterDispatcher

穿过上述几层后,会进入ActionMapper,来判断此请求是否需要struts2处理,如果需要,那么由ActionProxy来接管,通过配置管理我们可以找到我们的struts.xml,然后进入真正做事的Action

Invocation,依次穿过我们的拦截器,进入action,从而根据返回的result选择我们要的页面,在拦截器的前半部分去值栈中取值通过标签展示在页面上,最后生成response返回,具体的图如下

此图是我自己总结的,颜色比较多的那个图是struts2的官方图片,只是加了注释

struts2说的应用一些,举例,就像我们图中的,当你点击新增按钮后,会触发一个action给web服务器,服务器接受请求,给对应的web容器,根据上下文可以找到我们的webapp应用,找到总的配置文件web.xml,根据里面的配置来判断action谁去处理,找到filter,反射创建类,回调init,读取struts2的配置文件struts.xml,根据命名空间等找到action,反射创建action类实例,回到execute方法,找到对应的result转向下一个页面,其中虚线框中为右图的一个简写

求高人指点,按照图解释一下struts2的流程

了解运行过程是比较无聊的
1 .客户端初始化一个指向Servlet容器(例如Tomcat)的请求 ,即HttpServletRequest请求。
2 .这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)
3. 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action
4 .如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给ActionProxy
5 .ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类
6 .ActionProxy创建一个ActionInvocation的实例。
7 .ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。
8 .一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action链)一个需要被表示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper

文章分享结束,struts2工具使用教程和struts2类型转化器详解(带例子)的答案你都知道了吗?欢迎再次光临本站哦!

struts2工具使用教程(struts2类型转化器详解(带例子))

本文编辑:admin

更多文章:


网页页面设计的技巧有哪些?急求,jsp采用框架技术设计页面,如何写代码才能实现点击左侧框架内的链接,右侧框架内显示相应网页呢

网页页面设计的技巧有哪些?急求,jsp采用框架技术设计页面,如何写代码才能实现点击左侧框架内的链接,右侧框架内显示相应网页呢

其实设计页面的问题并不复杂,但是又很多的朋友都不太了解网页页面设计的技巧有哪些,因此呢,今天小编就来为大家分享设计页面的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!

2026年11月3日 03:00

selection是什么品牌(selection unique是什么葡萄酒)

selection是什么品牌(selection unique是什么葡萄酒)

其实selection是什么品牌的问题并不复杂,但是又很多的朋友都不太了解selection unique是什么葡萄酒,因此呢,今天小编就来为大家分享selection是什么品牌的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分

2026年11月3日 01:50

四分之一x的补码怎么求(计算机组成原理,的原码补码什么,求解现在这些题目都看不懂了)

四分之一x的补码怎么求(计算机组成原理,的原码补码什么,求解现在这些题目都看不懂了)

大家好,如果您还对四分之一x的补码怎么求不太了解,没有关系,今天就由本站为大家分享四分之一x的补码怎么求的知识,包括计算机组成原理,的原码补码什么,求解现在这些题目都看不懂了的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年11月2日 23:50

interpl(MATLAB中插值函数interpl怎么定义)

interpl(MATLAB中插值函数interpl怎么定义)

各位老铁们,大家好,今天由我来为大家分享interpl,以及MATLAB中插值函数interpl怎么定义的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年11月2日 23:30

java代码入门教程(零基础自学Java需要什么基础)

java代码入门教程(零基础自学Java需要什么基础)

大家好,如果您还对java代码入门教程不太了解,没有关系,今天就由本站为大家分享java代码入门教程的知识,包括零基础自学Java需要什么基础的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

2026年11月2日 23:00

path的音标(音标[pa:θ]是什么单词)

path的音标(音标[pa:θ]是什么单词)

大家好,关于path的音标很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于音标[pa:θ]是什么单词的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!

2026年11月2日 22:50

collects(collect怎么读)

collects(collect怎么读)

大家好,今天小编来为大家解答以下的问题,关于collects,collect怎么读这个很多人还不知道,现在让我们一起来看看吧!

2026年11月2日 21:10

四舍五入用哪个函数(用于进行四舍五入的数学函数是以下哪一项)

四舍五入用哪个函数(用于进行四舍五入的数学函数是以下哪一项)

各位老铁们,大家好,今天由我来为大家分享四舍五入用哪个函数,以及用于进行四舍五入的数学函数是以下哪一项的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年11月2日 20:10

手机excel表格制作(手机上怎么做表格)

手机excel表格制作(手机上怎么做表格)

各位老铁们,大家好,今天由我来为大家分享手机excel表格制作,以及手机上怎么做表格的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

2026年11月2日 20:00

单片机unsigned什么意思(为什么单片机编程变量都要定义成unsigned)

单片机unsigned什么意思(为什么单片机编程变量都要定义成unsigned)

这篇文章给大家聊聊关于单片机unsigned什么意思,以及为什么单片机编程变量都要定义成unsigned对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

2026年11月2日 19:30

最近更新

免费 虚拟主机(免费云主机哪个好)
2026-11-03 03:30:30 浏览:0
模板的正确读音?模板的模读什么
2026-11-03 02:30:13 浏览:0
热门文章

新站如何通过网站维护提升SEO排名
2026-10-13 20:56:21 浏览:6
sql server2008下载地址(如何下载SQL Server 2008 R2 SP2免费版)
2026-10-05 05:30:29 浏览:6
标签列表