五 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 ...
随机推荐
- 设置idea的快捷键组合 设置为默认
ubuntu中,idea的快捷键组合 为 “Default for GNOME”,和windows中不一样了,需要修改为“Default”:
- VMware克隆centos后需要进行修改配置的地方
1. 首先在VMware中通过复制现在状态的虚拟机或者快照形式的虚拟机,选择完整复制文件进行克隆. 2.打开克隆的虚拟机之后,需要修改主机名和相应的hosts表 2.1 修改主机名 输入 vi /e ...
- 解决vscode出现两个光标的问题
转载自本人独立博客:https://liushiming.cn/2020/01/20/vscode-two-cursors-in-vim-mode/ 问题概述 今天用vscode的vim模式编辑htm ...
- Django 生成数据库表时的报错TypeError: __init__() missing 1 required positional argument: 'on_delete'
原因及解决办法: https://www.cnblogs.com/phyger/p/8035253.html
- Django - 后台admin不显示带auto_now, auto_now_add选项的字段
https://stackoverflow.com/questions/6386172/datetimefield-doesnt-show-in-admin-system 解决办法 class Rat ...
- django removing hardcoded URLs in template --- 使用变量,把url放在变量中 {% url 'namespace:name' %}
urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^votes/', include("polls.urls", na ...
- December 31st, Week 53rd Tuesday, 2019
Nothing comes from nothing. 天下没有免费的午餐. Nothing comes from nothing, and in some cases, even something ...
- mcast_set_loop函数
#include <errno.h> #include <sys/socket.h> #include <net/if.h> #include <netine ...
- django登陆界面报错InternalError at /admin/polls/question/add/
登陆界面报错信息如下: 改为输入英文,正确
- C语言:将字符串中的字符逆序输出,但不改变字符串中的内容。-在main函数中将多次调用fun函数,每调用一次,输出链表尾部结点中的数据,并释放该结点,使链表缩短。
//将字符串中的字符逆序输出,但不改变字符串中的内容. #include <stdio.h> /************found************/ void fun (char ...