Action的三种访问方式(八)
来源:互联网 发布:k歌之王65首歌名知乎 编辑:程序博客网 时间:2024/06/03 17:51
一、传统方式
1.1 代码
package com.ken.action2;import com.opensymphony.xwork2.ActionSupport;public class CustomerAction extends ActionSupport {private static final long serialVersionUID = -3159892583595670390L;public String save() {System.out.println("保存客户...");return NONE;}public String delete() {System.out.println("删除客户...");return NONE;}}
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><h3>传统的配置文件方式</h3><a href="${pageContext.request.contextPath }/saveCust.action">保存客户</a><a href="${pageContext.request.contextPath }/delCust.action">删除客户</a></body></html>
1.2 配置
<!-- Action的访问,传统方式 --><package name="demo2" namespace="/" extends="struts-default"><action name="saveCust" class="com.ken.action2.CustomerAction"method="save" /><action name="delCust" class="com.ken.action2.CustomerAction"method="delete" /></package>
1.3 运行效果
二、通配符方式
2.1 代码
package com.ken.action2;import com.opensymphony.xwork2.ActionSupport;/** * 通配符的方式 * */public class LinkmanAction extends ActionSupport {private static final long serialVersionUID = -6387584399632189176L;public String save() {System.out.println("保存联系人...");return NONE;}public String delete() {System.out.println("删除联系人...");return NONE;}}
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><h3>传统的配置文件方式</h3><a href="${pageContext.request.contextPath }/saveCust.action">保存客户</a><a href="${pageContext.request.contextPath }/delCust.action">删除客户</a><h3>通配符的方式(应用比较多)</h3><a href="${pageContext.request.contextPath }/linkman_save.action">保存客户</a><a href="${pageContext.request.contextPath }/linkman_delete.action">删除客户</a></body></html>
2.2 配置
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><package name="default" namespace="/" extends="struts-default"><!-- 配置Action --><action name="hello" class="com.ken.action.HelloAction" method="sayHello"><!-- 配置跳转的页面,路径的写法:在struts2框架中,不管是转发还是重定向都不用写项目名 --><!-- name中的ok叫做逻辑视图名称 --><result name="ok">/demo1/success.jsp</result></action><!-- POJO --><action name="demo1Action" class="com.ken.action.Demo1Action"></action><!-- 实现Action接口 --><action name="demo2Action" class="com.ken.action.Demo2Action"><result name="success">/demo1/success.jsp</result></action><!-- Action类继承ActionSupport --><action name="demo3Action" class="com.ken.action.Demo3Action"></action></package><!-- Action的访问 --><package name="demo2" namespace="/" extends="struts-default"><!-- 传统方式 --><action name="saveCust" class="com.ken.action2.CustomerAction"method="save" /><action name="delCust" class="com.ken.action2.CustomerAction"method="delete" /><!-- 通配符的方式 --><action name="linkman_*" class="com.ken.action2.LinkmanAction"method="{1}"></action></package></struts>
2.3 运行效果
通配符的优点是,减少了Action标签的数量。
三、动态访问的方式
3.1 代码
package com.ken.action2;import com.opensymphony.xwork2.ActionSupport;public class UserAction extends ActionSupport {/** * 动态方法访问 */private static final long serialVersionUID = 2843394265982624974L;public String save() {System.out.println("保存用户...");return NONE;}public String delete() {System.out.println("删除用户...");return NONE;}}
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body><h3>传统的配置文件方式</h3><a href="${pageContext.request.contextPath }/saveCust.action">保存客户</a><a href="${pageContext.request.contextPath }/delCust.action">删除客户</a><h3>通配符的方式(应用比较多)</h3><a href="${pageContext.request.contextPath }/linkman_save.action">保存客户</a><a href="${pageContext.request.contextPath }/linkman_delete.action">删除客户</a><h3>动态方法访问的方式</h3><a href="${pageContext.request.contextPath }/user!save.action">保存用户</a><a href="${pageContext.request.contextPath }/user!delete.action">删除用户</a></body></html>
3.2 配置
关键:开启常量的配置
<!-- 开启动态方法访问 --><constant name="struts.enable.DynamicMethodInvocation" value="true" />struts.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN""http://struts.apache.org/dtds/struts-2.3.dtd"><struts><!-- 开启动态方法访问 --><constant name="struts.enable.DynamicMethodInvocation" value="true" /><package name="default" namespace="/" extends="struts-default"><!-- 配置Action --><action name="hello" class="com.ken.action.HelloAction" method="sayHello"><!-- 配置跳转的页面,路径的写法:在struts2框架中,不管是转发还是重定向都不用写项目名 --><!-- name中的ok叫做逻辑视图名称 --><result name="ok">/demo1/success.jsp</result></action><!-- POJO --><action name="demo1Action" class="com.ken.action.Demo1Action"></action><!-- 实现Action接口 --><action name="demo2Action" class="com.ken.action.Demo2Action"><result name="success">/demo1/success.jsp</result></action><!-- Action类继承ActionSupport --><action name="demo3Action" class="com.ken.action.Demo3Action"></action></package><!-- Action的访问 --><package name="demo2" namespace="/" extends="struts-default"><!-- 传统方式 --><action name="saveCust" class="com.ken.action2.CustomerAction"method="save" /><action name="delCust" class="com.ken.action2.CustomerAction"method="delete" /><!-- 通配符的方式 --><action name="linkman_*" class="com.ken.action2.LinkmanAction"method="{1}" /><!-- 动态方法访问的方式 --><action name="user" class="com.ken.action2.UserAction" /></package></struts>
3.3 运行效果
源码下载
阅读全文
0 0
- Action的三种访问方式(八)
- Structs2 Action访问Servlet API的三种方式
- 【Struts2进阶】Struts2的Action访问Servlet API 的 三种方式
- Struts2 访问Action中的指定方法 三种方式的总结
- Struts2(二)action的三种方式
- Action类的三种编写方式(七)
- Action 参数传递的三种方式
- 创建struts action的三种方式
- struts2创建Action的三种方式
- Action类的三种创建方式
- Action的三种编写方式
- Struts2 action的三种实现方式
- Struts2:action的三种开发方式
- 实现Action的三种方式(四)
- Action获得servletAPI的三种方式
- Action访问Servlet API的几种方式,其中方式三比较常用,下来是方式一,最后是方式二(实现接口的方式)
- Struts2的Action中方法的几种访问方式
- STRUTS2 ACTION 访问WEB元素的四种方式
- php debug 安装配置
- Python中的字符串
- 【LeetCode】27.Remove Element(Easy)解题报告
- 【Scikit-Learn 中文文档】半监督学习
- 106张图为证,配置SSLVPN服务
- Action的三种访问方式(八)
- 私有云落地解决方案之openstack高可用(pike版本)-环境配置
- 13. Roman to Integer题目和答案详解
- 深度优先算法(DFS)遍历有向无环图计算最优路径
- 1.0-springboot的java配置方式
- 给键盘按键带上音效
- 中介者模式
- JavaScript学习笔记——对象和数组(下)
- 一步步点亮LED