码迷,mamicode.com
首页 > 其他好文 > 详细

Struts2框架(1)

时间:2020-03-31 17:21:27      阅读:64      评论:0      收藏:0      [点我收藏+]

标签:cti   res   erro   mode   xml文件   global   constant   inter   method   

Struts2:框架:

简化MVC模型,节省开发时间;

技术图片

 

 技术图片

 

 

技术图片

 

 

 

技术图片

 

 

技术图片

 

 技术图片

struts.properties定义好的名称有很多,不能随意改动:如:

如:技术图片

 

 也可用struts.xml里的constant用来自定义我们自己开发用的;

如:

技术图片

 

 

 

 

struts.xml文件案例解读:

include标签:

 技术图片

 

 

package:

技术图片

 

 技术图片

 

 interceptors:拦截器

技术图片

 

 

 global-result:全局的result,可以在action后根据result的名词进行引用:

技术图片

 

 

Action:

技术图片

 

 技术图片

 

 

 

加深理解:

技术图片

 

 技术图片

 

 技术图片

 

 比如下面是action所对应class元素指向的java文件,那如何指定调用方法;

技术图片

 

 

1、指定method方法:

技术图片

 

 

 这样一个action对应一个方法,可是如果有10个的 话,就得创建10个action了,所有就有了感叹号方法;

2、感叹号方法:

首先要做个配置:

技术图片

 

 然后给result增加一个name元素,这样就可配置多个;

技术图片

 

 而这里的name元素值就是要调用方法的返回值:

技术图片

 

 最后在浏览页面的时候地址通过增加感叹号+方法名称来获取对应的result页面:

技术图片

 

 前两个读不太推荐哈

3、通配符方式:

技术图片

 

 这里的第一个*所对应的就是{1},第二个*号所对应的就是{2}

这样在我们浏览器输入地址时,可以通过自己定义{1}{2},通过{1}来找到对应的action所对应的class,通过{2}来找到对应class里所对应的方法,如:

技术图片

 

 技术图片

 

如:技术图片

 

 

技术图片

 

 

 技术图片

 

 这里默认action的name值要和default-action-ref里的name值一直,当访问到不存在action时,就会跳转到error.jsp

 

 

技术图片

 

 

技术图片

 

不做设置 默认的话就是后缀.action或没有,直接写入action里的name值就好;想配置多个的话用逗号隔开;

 

 

技术图片

 

 

第一种,就是在class里创建属性,接受参数,很捞,因为如果传过来的参数值有上百个那么我们就要创建上百个私有属性值;

第二种:用一个类把参数名作为自己的属性名进行创建,class类里再通过实例化这个类,获得对象,调用这个对象里的get方法进行取值,也很捞,且要注意的一点是页面在给定义参数名时要定义好对应的类,这样就使得当我们的类名进行变动时页面上要做大量的修改:技术图片

 

 

 第三种:优化了第二种,参数名可以不同定义好对应的类:

技术图片

 

 继承ModelDriven<自己所定义好的类>,需要注意的是这个是需要实例化User的,第二种是不用的;且由于是继承接口,所以要实现其所定义好的方法getModel,返回我们的对象名;

如果是想把多个参数值以数集的方式储存,比如List,这样我们参数名是以数集名【x】的方式进行储存,如:技术图片

 

 如果数集里的类型是对象类,比如:bookList<User>,这样也是可以的,如:技术图片

 

 

 

 

 

技术图片

 

 技术图片

 

 

 

 

技术图片

 

 

技术图片

 

 技术图片

 

 

技术图片

 

Struts2框架(1)

标签:cti   res   erro   mode   xml文件   global   constant   inter   method   

原文地址:https://www.cnblogs.com/lzj-learn/p/12533345.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!