struts2动作方法通配符

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>
	<!-- 覆盖掉Struts2一些常量的默认值 -->
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />
    <constant name="struts.action.extension" value="action,,do"></constant>
    <constant name="struts.configuration.xml.reload" value="true"></constant>
	<package name="default" namespace="/hello/xxx" extends="struts-default">
		<action name="test1">
			<result>/index.jsp</result>
		</action>
	</package>
	<package name="p1" extends="struts-default">
		<action name="test2" class="com.opensymphony.xwork2.ActionSupport" method="execute">
			<result name="success" type="dispatcher">/index.jsp</result>
		</action>
		<action name="test3" class="com.itheima.actions.ActionDemo1" method="doSomething">
			<result>/index.jsp</result>
		</action>
		<!--
		<action name="testAdd" class="com.itheima.actions.ActionDemo1" method="addMethod">
			<result>/index.jsp</result>
		</action>
		<action name="testUpdate" class="com.itheima.actions.ActionDemo1" method="updateMethod">
			<result>/index.jsp</result>
		</action>
		 -->
		 <!-- 动作方法通配符 -->
		 <!--
		 约定优于配置
		 路径:http://localhost:8080/day24_03struts2_constant/CustomerAction_addCustomer.action
		 	动作类:CustomerAction 动作方法:addCustomer 结果转向的页面:addCustomer.jsp
		  -->
		<action name="*_*" class="com.itheima.actions.{1}" method="{2}">
			<result>/{2}.jsp</result>
		</action>
	</package>
</struts>

注意第十行,value="action,,do“ 中间两个逗号,这样配置可以在访问路径的时候省略后面的.action

CustomerAction.java:

package com.itheima.actions;

import com.opensymphony.xwork2.ActionSupport;

public class CustomerAction extends ActionSupport{
	public String addCustomer(){
		System.out.println("addCustomer");
		return SUCCESS;
	}
	public String delCustomer(){
		System.out.println("delCustomer");
		return SUCCESS;
	}
	public String updateCustomer(){
		System.out.println("updateCustomer");
		return SUCCESS;
	}
}

  

时间: 2024-11-13 07:52:50

struts2动作方法通配符的相关文章

Struts2动态方法调用怎么写配置

Struts2动态方法调用怎么写配置?可以这样: 1.Struts2入门之 HelloWorld  编写不依赖任何三方包的Action类 按照MVC架构,Action执行完后要返回显示的结果视图,所以,Action中的请求处理方法要返回一个逻辑名称来表示它要显示的结果视图,即方法的 返回值类型为代表逻辑名称的字符串. 在 struts.xml配置文件中配置Action类 struts.xml文件中的配置信息使用package进行分类和管理,不同的包对应不同的url访问路径,即在访问路径上就能区分

在Struts.xml中的result元素指的是:指定动作类的动作方法执行完后的结果视图.

result结果集 上一篇文章主要讲Struts2框架(4)---Action类访问servlet这篇主要讲result结果集 在Struts.xml中的result元素指的是:指定动作类的动作方法执行完后的结果视图. (1)局部结果和全局结果 他有两个属性: name:字符串,与动作方法返回的值一致.默认是success type:指定处理结果的结果类型的别名.默认值是dispatcher 首先处理结果分为两种,一种是局部结果一种是全局结果. 局部结果: <action name="lo

将插座变量(IBOutlet)关联到*.xib文件中对象 + 将对*.xib对象的操作关联到动作方法(IBAction)

将插座变量(IBOutlet)关联到*.xib文件中对象 以BNRDetailViewController.m和BNRDetailViewController.xib为例(<iOS编程>第10章例子) 1.打开BNRDetailViewController.xib,添加一个UITextField对象: 2.在辅助编辑器中打开BNRDetailViewController.m,方法是:按住Option键并点击项目导航面板中的BNRDetailViewController.m: 3.按住Contr

为什么struts2 ajax 方法执行两次

struts2中使用json插件执行ajax处理时,如果方法名是get方法的时候,方法会莫名其妙的执行两次. 原因: struts2 中JSON的原理是在ACTION中的get方法都会序列化,所以前面是get的方法只要没指定不序列化,都会执行解决方法 Action中的业务方法前别加get 或者 set(属性的get set 除外) 用@JSON(serialize=false)指定方法不序列化如import com.googlecode.jsonplugin.annotations.JSON;@

ASP.NET 控制器和动作方法

1.什么样的类能成为控制器? 在ASP.NET MVC 中,直接或者间接地实现了IController接口的类,就会被Mvc框架认为是控制器. using System.Web.Routing; namespace System.Web.Mvc { public interface IController { void Execute(RequestContext requestContext); } } 从代码中,看到此接口有一个唯一的方法Execute,此方法会在请求到达控制器的时候被调用.

SpringMVC 控制器中 动作方法返回其他类型(输出ActionResult子类)

初来乍到,多多包涵. EmptypeResult:输出空类容 ContentResult:输出文本内容 return Content("数据"); JsonResult:输出josn数据 return Json(数据, JsonRequestBehavior.AllowGet); JavaScriptResult:输出js脚本 return javascript("js脚本") RedirectResult:重定向 return Redirect("~/控

jQuery - 链(Chaining):把动作/方法链接在一起

jQuery - 链(Chaining) 通过 jQuery,可以把动作/方法链接在一起. Chaining 允许我们在一条语句中运行多个 jQuery 方法(在相同的元素上). jQuery 方法链接 直到现在,我们都是一次写一条 jQuery 语句(一条接着另一条). 不过,有一种名为链接(chaining)的技术,允许我们在相同的元素上运行多条 jQuery 命令,一条接着另一条. 提示: 这样的话,浏览器就不必多次查找相同的元素. 如需链接一个动作,您只需简单地把该动作追加到之前的动作上

Struts2动态方法调用:通配符方式

更改src/struts2.xml的代码: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <

Struts2动态方法调用(DMI)

在Struts2中动态方法调用有三种方式,动态方法调用就是为了解决一个Action对应多个请求的处理,以免Action太多 第一种方式:指定method属性这种方式我们前面已经用到过,类似下面的配置就可以实现 <action name="chainAction" class="chapter2.action.Chapter2Action" method="chainAction"> <result name="chai