首页 > 编程知识 正文

程序示例(struts2标签库)

时间:2023-05-05 17:43:59 阅读:104499 作者:732

Apache Struts 2是一个用于开发Java EE web应用程序的开源web应用程序架构。它利用并扩展了Java Servlet API,鼓励开发人员采用MVC架构。

源于Apache Struts的WebWork框架旨在提供相对于Struts框架的增强和改进,同时保留类似Struts框架的结构。2005年12月,WebWork宣布WebWork 2.2合并了以Apache Struts 2为名的Struts。

Struts1设计的第一个目标是将MVC模式应用到web编程中。在过去的10年里,Struts在更好的网络应用方面的工作值得肯定。在某些方面,Struts社区注意到了这个框架的局限性,所以这个活跃的社区重新理解了MVC的运行模式,同时引入了一些新的架构设计理念,新的Struts2框架结构更加清晰,使用起来更加灵活方便。

这种新的结构包括应用逻辑的横截面拦截器、以XML形式减少和移除配置文件的基于注释的配置、强大的表达式语言以及支持可更改和可重用UI组件的基于微MVC的标记库。Struts2有两个技术优势。首先,所有Struts2应用程序都基于客户机/服务器HTTP交换协议。Java Servlet API揭示了Java Servlet只是Java API的一个小子集,这样我们就可以在业务逻辑部分使用强大的Java语言进行编程。Struts 2提供了一个清晰的MVC实现,其中包含了很多处理所有请求的关键组件,比如拦截器、OGNL表达式语言和堆栈。

Idea builds struts2项目:

创建strus2项目(注意不要检查下载,最新的struts核心包可能会导致一系列错误)

去struts官方网站下载项目所需的包。

下载解压缩的文件,并将lib文件夹中的所有包导入到项目中。

结构如下:

创建示例操作

配置struts.xml文件有三种方法,但通配符是最常用的方法。

处理返回值对应于视图。

注意web.xml struts2.5版本2.5中包的路径略有不同。

用tomcat运行这个例子,如下所示:

在实际的开发过程中,如果所有的动作都写在一个配置文件中,这个文件会非常臃肿,所以我们需要使用多个配置文件。

指定多个配置文件的示例:

将我们刚刚编写的struts.xml配置信息移动到一个新的test.xml文件中,然后将test.xml配置文件引入struts.xml文件中。

>

我们也可以统一配置文件的编码格式为UTF-8,避免以后出错

我们也可以采用默认的action 防止404错误不友好体验

当用户输入错误的url

关于修改请求地址的后缀示例:

修改后缀为html

action接收参数的示例:创建一个登陆界面

创建一个接收参数的action

注意接收参数的命名与前端名称的一致性

配置struts信息

测试成功:

但是这样写,当参数过多时就会不利于维护,我们需要采用一种面向对象得到方式来接收参数

创建一个user实体类

使用user对象接收参数

更改前端参数

但是当传入参数改变的时候,我们需要改变接收实体的参数,所以也不建议使用。

我们使用实现接口的方式接收参数,这种方式需要实例化对象

关于使用集合接收参数

关于处理结果的类型

除了input比较特殊之外,其他的几种只是一种代码规范。

input来限制接收参数的类型

定义age的类型为int

修改配置文件信息,参数正确可以进入首页,否则继续停留在登陆界面

测试成功:

自定义拦截器示例:

新建拦截器,继承AbstractInterceptor类,重写intercept方法

在struts.xml中注册拦截器

在指定的action中调用拦截器

创建测试action

创建测试义页面

测试如下:

内置拦截器:

需要注意的是当我们为某个action指定拦截器后,则默认的拦截器不会被引用,所以需要手动引用默认拦截器

struts2权限控制示例:

WEB-INF是无法直接通过url访问的

相应的逻辑处理

视图的转发

自定义权限拦截器

配置信息

这样就完成了权限的控制

我好想你。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。