博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts2 DMI
阅读量:5100 次
发布时间:2019-06-13

本文共 2278 字,大约阅读时间需要 7 分钟。

     由于在struts 对象对URL请求的处理都是调用默认execute()方法,对于单一的业务请求这种方式比较合适.但在实际开发中业务请求类型方法多种多样,对一个Action可能有不同的请求,通过建立action能够解决这个问题,但会使程序变得越来越复杂,且编码越来越多,修一处可能动全身麻烦不容易维护.根据请求的数量不断增多这种方式显然不太合适.

   在struts2中提供了解决这类问题的方法,称之为DMI(动态调用).通过请求action对象的方法,可以实现对某一个业务逻辑处理.DMI处理方式是通过请求Aciton对象中的一个具体方法来实现动态操作.具体就是在请求action的url地址后加上请求的字符串,与aciton对象的方法进行匹配.其中action对象名称和方法之间用"!"区分开.下面以实例的方式进行说明.

例:配置环境变量请参照前面介绍的环境配置方法.

1. 在Eclipse中创建一个java web 项目名称为:Struts2DMIDemo,添加struts2支持库击开发库等.

建立文件包括:UserAction.java,struts.xml,web.xml,add.jsp,index.jsp,update.jsp文件.

Action类 UserAction.java 内容如下:

 

package com.northeasttycoon;import com.opensymphony.xwork2.ActionSupport;/** * @author NorthEastTycoon * */public class UserAction extends ActionSupport {	/**	 * 	 */	private static final long serialVersionUID = 1L;	private String info;	public String getInfo() {		return info;	}	public void setInfo(String info) {		this.info = info;	}		public String execute() throws Exception{				info ="this is add operator!";		return "sucess";	}	public String update() throws Exception{				info="this is update operator!";		return "update";	}	}

web.xml 文件内容如下:

 

Struts 2
index.jsp
struts2
org.apache.struts2.dispatcher.FilterDispatcher
struts2
/*

struts.xml 文件内容如下:

 

/add.jsp
/update.jsp

add.jsp 文件内容如下:

 

<%@ page contentType="text/html; charset=UTF-8" %><%@ taglib prefix="s" uri="/struts-tags" %>success 

 

 index.jsp 文件内容如下:

 

<%@ page contentType="text/html; charset=UTF-8" %><%@ taglib prefix="s" uri="/struts-tags" %>Hello World
sucess
update

 

 update.jsp内容如下:

<%@ page contentType="text/html; charset=UTF-8" %><%@ taglib prefix="s" uri="/struts-tags" %>update 

 

程序目录结构如下:

运行效果图:

(1) 在浏览器中输入:http://localhost:8080/Struts2DMIDemo 出现以下界面

 

 (2)点击sucess 进入以下界面

 

 (3)点击udpate 进入以下界面

 

以上为struts2动态调用实例.

 

备注:

    作者:东北大亨

    博客:                                           

版权为个人所有,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

转载于:https://www.cnblogs.com/northeastTycoon/p/5618450.html

你可能感兴趣的文章
Windows10下安装MySQL8.0
查看>>
html/css静态网页制作
查看>>
内联元素与内联块状元素
查看>>
centos下yum安装wget失败
查看>>
点分治
查看>>
判断游戏对象是否在摄像机视口的一个方法
查看>>
[POJ1830] 开关问题
查看>>
linux下find查找命令用法
查看>>
《Head First设计模式》
查看>>
CentOS 配置网络yum源
查看>>
UVALive 7274 Canvas Painting (优先队列)
查看>>
多线程程序设计
查看>>
HTML中常用的列表标签
查看>>
【Java Saves!】Session 2:我的意图
查看>>
jQuery-4.动画篇---动画基础隐藏和显示
查看>>
深入剖析 redis AOF 持久化策略
查看>>
物流货代公司管理系统
查看>>
zabbix监控的基础概念、工作原理及架构
查看>>
Farseer.net轻量级开源框架 中级篇:事务的使用
查看>>
js斐波拉切
查看>>