五 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 ...
随机推荐
- 【 Struts2 过滤器】
LoginInterceptor package k.util; import com.opensymphony.xwork2.ActionInvocation; import com.opensym ...
- Platform device/driver注册过程
Platform是一种虚拟总线,Platform机制将设备本身的资源注册进内核,有内核统一管理,在驱动程序使用这些资源时使用统一的接口,这样提高了程序的可移植性. Linux的大部分设备驱动都可以使用 ...
- js + jquery 实现分页区翻页
简单来说,情况是这样的,假如做好了对动漫每一集进行分页,如下图: 但当分页太多就会变得不能看,而且前后箭头也不能只是摆设. 想要得到类似这样效果: 网上搜了一会翻页相关的库没什么效果,也不太合适自己的 ...
- 理解ASP.NET Core验证模型 Claim, ClaimsIdentity, ClaimsPrincipal
Claim, ClaimsIdentity, ClaimsPrincipal: Claim:姓名:xxx,领证日期:xxx ClaimsIdentity:身份证/驾照 ClaimsPrincipal: ...
- PHP 文件上传之如何识别文件伪装?——PHP的fileinfo扩展可!
问题:文件上传时候需要验证上传的文件是否合法,文件伪装如何识别? 一个简单测试:把txt文件后缀直接改成jpg;上传 <!DOCTYPE html> <html> <ti ...
- django removing hardcoded URLs in template --- 使用变量,把url放在变量中 {% url 'namespace:name' %}
urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^votes/', include("polls.urls", na ...
- JAVA(3)之关于运算符的优先级
关于运算符的优先级,我做了一个小测试,区别在于平常的运算思维和计算机思维 int result=2; result =(result=result*2)*6*(result=3+result); Sy ...
- codeforces-1271A - Suits
A. Suits A new delivery of clothing has arrived today to the clothing store. This delivery consist ...
- 17,a:img的alt和title有何异同? b:strong与en的异同?
alt(alt text):为不能显示的图像,窗体或者applets的用户代理,alt属性用来指定替换文字.替换文字的语言用lang属性来指定. eg:下例中将图像作为链接来使用 <a href ...
- MySQL主从复制(一主两从)
主库开启bin-log二进制日志功能,并建立slave账号,并授权从库连接主库,从库通过change master得到主库的相关同步信息, 然后连接主库进行验证,主库产生的新数据会导入到bin- ...