五 Action访问方法,method配置,通配符(常用),动态
1 通过method配置(有点low)
- 建立前端JSP:demo4.jsp
<%@ 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>Action的配置方法1:method配置</title>
</head>
<body>
<h1>Action的访问</h1>
<h3>1通过method的方式</h3>
<a href="${pageContext.request.contextPath }/userFind1.act">查找用户</a><br/>
<a href="${pageContext.request.contextPath }/userUpdate1.act">修改用户</a><br/>
<a href="${pageContext.request.contextPath }/userDelete1.act">删除用户</a><br/>
<a href="${pageContext.request.contextPath }/userSave1.act">保存用户</a><br/>
</body>
</html>
- 建立与之对应的Action类,采用继承ActionSupport的方式
import com.opensymphony.xwork2.ActionSupport;
/**
* Action访问方式一:method配置
* return NONE 不跳转
*/
public class UserAction1 extends ActionSupport {
public String find1(){
System.out.println("userFind1....");
return NONE;
}
public String update1(){
System.out.println("userUpdate1....");
return NONE;
}
public String delete1(){
System.out.println("userDelete1....");
return NONE;
}
public String save1(){
System.out.println("userSave1....");
return NONE;
}
}
- 建立配置文件structs_demo4.jsp
<?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">
<!-- 通过method配置-->
<struts>
<package name="demo4" extends="struts-default" namespace="/">
<action name="userFind1" class="com.itheima.Structs.demo4.UserAction1" method="find1"></action>
<action name="userUpdate1" class="com.itheima.Structs.demo4.UserAction1" method="update1"></action>
<action name="userDelete1" class="com.itheima.Structs.demo4.UserAction1" method="delete1"></action>
<action name="userSave1" class="com.itheima.Structs.demo4.UserAction1" method="save1"></action>
</package>
</struts>
- 将配置文件用include标签添加到struts.xml文件中
<include file="com/itheima/Structs/demo4/struts_demo4.xml"></include>
2 通过通配符的方式(开发常用)
jsp:
<%@ 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>Action访问方式2:通配符</title>
</head>
<body>
<h3><a href="${pageContext.request.contextPath }/product_find1.action">查询商品</a></h3><br/>
<h3><a href="${pageContext.request.contextPath }/product_update1.action">更新商品</a></h3><br/>
<h3><a href="${pageContext.request.contextPath }/product_delete1.action">删除商品</a></h3><br/>
<h3><a href="${pageContext.request.contextPath }/product_save1.action">保存商品</a></h3><br/>
</body>
</html>
Action类:
package com.itheima.Structs.demo4;
import com.opensymphony.xwork2.ActionSupport;
/**
* 通配符配置Action
*
*/
public class ProductAction1 extends ActionSupport {
public String find1(){
System.out.println("查询商品");
return NONE;
}
public String update1(){
System.out.println("更新商品");
return NONE;
}
public String delete1(){
System.out.println("删除商品");
return NONE;
}
public String save1(){
System.out.println("保存商品");
return NONE;
}
}
配置文件:
<?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>
<!--通过通配符的方式 -->
<action name="product_*" class="com.itheima.Structs.demo4.ProductAction1" method="{1}"></action>
</package>
</struts>
3 通过动态配置的方式
jsp:
<%@ 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>动态方法配置Action</title>
</head>
<body>
<h3>动态方法配置Action</h3>
<h3><a href="${pageContext.request.contextPath }/customer!find.action">查询客户</a></h3>
<h3><a href="${pageContext.request.contextPath }/customer!update.action">更新客户</a></h3>
<h3><a href="${pageContext.request.contextPath }/customer!delete.action">删除客户</a></h3>
<h3><a href="${pageContext.request.contextPath }/customer!save.action">保存客户</a></h3>
</body>
</html>
Action类:
package com.itheima.Structs.demo4;
import com.opensymphony.xwork2.ActionSupport;
public class CustomerAction1 extends ActionSupport {
public String find(){
System.out.println("用户查询");
return NONE;
}
public String update(){
System.out.println("用户更新");
return NONE;
}
public String delete(){
System.out.println("用户访问");
return NONE;
}
public String save(){
System.out.println("用户保存");
return NONE;
}
}
配置文件:
<?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"></constant>
<package name="demo4" extends="struts-default" namespace="/">
<!-- 动态方法 -->
<action name="customer"
class="com.itheima.Structs.demo4.CustomerAction1"></action>
</package>
</struts>
五 Action访问方法,method配置,通配符(常用),动态的更多相关文章
- struts 中自定义action访问方法
struts中action类继承了ActionSupport 默认实现了execute()方法 struts.xml配置文件中 然后可以配置如下映射: <package name =" ...
- Struts2学习笔记(五)——Action访问Servlet API
在Strut2中访问Servlet API有三种方式: 1.通过ActionContext访问Servlet API,推荐使用这种,但是这种方案它获取的不是真正的事Servlet API. 步骤: 1 ...
- struts2 笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用
Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDis ...
- 笔记01 登录、常用配置参数、Action访问Servlet API 和设置Action中对象的值、命名空间和乱码处理、Action中包含多个方法如何调用
Struts2登录 1. 需要注意:Struts2需要运行在JRE1.5及以上版本 2. 在web.xml配置文件中,配置StrutsPrepareAndExecuteFilter或FilterDis ...
- {Django基础十之Form和ModelForm组件}一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 ModelForm
Django基础十之Form和ModelForm组件 本节目录 一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 Model ...
- 第三章Struts2 Action中动态方法调用、通配符的使用
01.Struts 2基本结构 使用Struts2框架实现用登录的功能,使用struts2标签和ognl表达式简化了试图的开发,并且利用struts2提供的特性对输入的数据进行验证,以及访问Servl ...
- struts配置通配符*来匹配方法,实现动态调用
01:web.xml中配置,启动struts2 <?xml version="1.0" encoding="UTF-8"?> <web-app ...
- Struts(五)Action的访问
在struts开发中,Action作为框架的核心类,实现对用户的请求的处理,Action被称为业务逻辑控制器.一个Action类代表一次请求或调用.Action就是用来处理一次用户请求的对象 Acti ...
- struts2 正确配置通配符方式访问,报错解决
今天遇到正确配置通配符访问action的方法,但是还是报错,原因struts 2.3 以后会内部会验证是否允许该方法,而我用的刚好是2.5的版本 要action配置中加上<allowed-met ...
随机推荐
- Git - 05. git log & git show
1. 概述 有了提交, 就必须有日志 日志用处很多, 这里我就不多说了 2. 项目日志 概述 查看当前分支的 提交记录 命令 普通查看 命令 > git log 显示 commit id 包括 ...
- Codeforces Round #618 (Div. 1)C(贪心)
把所有数看作N块,后面的块比前面的块小的话就合并,这个过程可能会有很多次,因为后面合并后会把前面的块均摊地更小,可能会影响更前面地块,像是多米诺骨牌效应,从后向前推 #define HAVE_STRU ...
- Educational Codeforces Round 80 (Rated for Div. 2)D(二分答案,状压检验)
这题1<<M为255,可以logN二分答案后,N*M扫一遍表把N行数据转化为一个小于等于255的数字,再255^2检验答案(比扫一遍表复杂度低),复杂度约为N*M*logN #define ...
- java调用第三方接口(转载)
在很多时候有些别人做过的东西直接拿来用就好了,例如:身份证的信息.某个地区的天气.电话归属地等等. 代码 //import com.alibaba.fastjson.JSONObject; impor ...
- django 模版查找路径
路径的配置,模版上下文的配置等.模版路径可以在两个地方配置. 1.'DIRS':这是一个列表,在这个列表中可以存放所有的模版路径,以后在视图中使用render或者render_to_string渲染模 ...
- k8s搭建
K8s官方文档地址:https://kubernetes.io/docs/reference/command-line-tools-reference/kube-apiserver/ 如果用云主机部 ...
- celery参考
1,https://www.wandouip.com/t5i377365/ 2,https://www.cnblogs.com/zhangmingcheng/p/6050270.html (syste ...
- 学习笔记(21)- texar 文本生成
今天试了文本生成框架texar https://github.com/asyml/texar 这个texar框架里面,也有端到端的实现 pwd /Users/huihui/git/ git clone ...
- Steam 游戏 《Sudoku Universe(数独宇宙)》——[数独基本局分析]
日期:2020.02.12 博客期:152 星期三 老师给的任务都做完了,15篇博客也都写好了,剩下的几天居然还要每天写一篇~唉~为难我 PH ,剩下的几天就把 我的数独要义分享一下吧! 1.基本局规 ...
- 嵌入式大赛PPT
题目:基于SLAM的移动机器人设计 嵌入式PPT应具有的几个部分 1.有哪些硬件 1)小车 2)STM32F429开发板 3)树莓派3b+开发板 4)4g通信模块 5)GPS模块 6)Kinect摄像 ...