`
Supanccy2013
  • 浏览: 225121 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

用通配符配置 action的name,class,result

阅读更多
   此次主要介绍用通配符来配置struts的action的class,name,result之间的链接。下面是实例:
1,struts.xml文件中配置:
 [color=red]  <action name="*_*" class="com.dd.action.{1}" method="{2}">
		     <result name="success">/{1}Result.jsp</result>
		</action>
、[/color]

注意:abcAction,*Action.* ,如果有个请求是abcAction那么struts接受该请求的顺序是:
      abcAction>*Action>*

  一般不让用户直接请求视图资源,一般的做法是有这样的配置:
  <action name="*">
            <result>/{1}.jsp</result>
  </action>
  解释:名字为*表示优先级最低的接受所有请求,因为没有class属性,那么就会让ActionSupport来处理,而这个action的execute方法总是返回success字符串,而上面的result又没有那么属性默认的就是success那么就直接跳转至{1}.jsp中去了。


2,加法Action
 
引用
package com.dd.action; public class AddAction { private int number1; private int number2; private int sum; public int getNumber1() { return number1; } public void setNumber1(int number1) { this.number1 = number1; } public int getNumber2() { return number2; } public void setNumber2(int number2) { this.number2 = number2; } public int getSum() { return sum; } public void setSum(int sum) { this.sum = sum; } public String add(){ setSum(getNumber1()+getNumber2()); return "success"; } }

3,减法Action
 package com.dd.action;
import com.opensymphony.xwork2.ActionSupport;
public class ReduceAction extends ActionSupport {
	private int number1;
	private int number2;
	private int sum;
	public int getNumber1() {
		return number1;
	}
	public void setNumber1(int number1) {
		this.number1 = number1;
	}
	public int getNumber2() {
		return number2;
	}
	public void setNumber2(int number2) {
		this.number2 = number2;
	}
	public int getSum() {
		return sum;
	}
	public void setSum(int sum) {
		this.sum = sum;
	}
	public String reduce(){
		setSum(getNumber1()-getNumber2());
		return "success";
	}
}

4,用户操作页面。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s"  uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'add.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	<script type="text/javascript">
	    function changeAction(){
	    	document.forms[0].action = "ReduceAction_reduce";
	    	document.forms[0].submit();
	    }
	</script>

  </head>
  
  <body>
      <s:form action="AddAction_add">
          <s:textfield name="number1"></s:textfield>
          <s:textfield name="number2"></s:textfield>
           <input type="button" value="减法" onclick="changeAction();"/>
          <s:submit vlue="提交"></s:submit>
      </s:form>
  </body>
</html>

4,加法跳转页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  </head>
  <body>
                         加法的结果页面<br>
                         <s:property value="sum"/>
  </body>
</html>

5,减法跳转页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s"  uri="/struts-tags"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <body>
    减法的结果页面<br>
    <s:property value="sum"/>
  </body>
</html>
分享到:
评论

相关推荐

    Struts2中使用通配符优化配置

    例如,如果你有一个应用,所有的Action名称都遵循某种模式,如`user_*`,你可以使用通配符`user_*`来定义一个Action配置,这将自动覆盖所有符合该模式的Action。这样,你就不需要为每一个特定的Action如`user_save`...

    Struts2_Action学习笔记、通配符{1},{2}

    1. **使用通配符配置Action**: - 例子:`&lt;action name="student*" method="{1}" class="com.example.StudentAction"&gt;` - 这里的`student*`是一个通配符模式,匹配所有以`student`开头的Action。 - `{1}`表示...

    Struts2通配符

    &lt;action name="delete" class="example.CrudAction" method="delete"&gt; &lt;/action&gt; ``` 这种方式较为简单直观,但当方法数量增多时,配置文件会变得冗长。 ##### 4.2 通配符方式 使用通配符可以更高效地管理多个...

    Struts2 配置通配符和错误页面

    通配符允许我们定义一个模式来匹配多个Action配置,而不是为每个单独的Action编写单独的配置项。 1.1 **Action配置通配符** 通配符配置通常是在`struts.xml`文件中完成的。例如,以下配置将匹配所有以`user_`开头...

    Action 通配符

    "Action 通配符"是Struts2中的一个重要特性,这个特性使得我们可以使用一个通用的Action配置来处理一类相似的请求,极大地提高了代码的复用性和管理效率。本文将深入探讨Action 通配符的概念、作用以及如何在实际...

    struts2 action 配置方法 &&struts2的配置文件

    &lt;action name="delete" class="example.CrudAction" method="delete"&gt; ``` - **通配符配置**: 使用通配符可以简化配置,如: - **通配符(*)**: ```xml &lt;action name="*Crud" class="example.Crud" method=...

    struts2动态调用之通配符

    而使用通配符后,可以简化为: ```xml &lt;action name="user_*" class="com.example.UserAction"&gt; &lt;result type="dispatcher"&gt;/user/${1}.jsp&lt;/result&gt; &lt;/action&gt; ``` 这里的`*`是通配符,表示匹配任何字符序列。在...

    struts2利用通配符调用同一个Action里面不同的方法

    在Struts2中,Action是业务逻辑处理的核心,而通配符的使用则是Struts2框架中一种灵活的配置方式,允许我们以更简洁的方式调用同一个Action中的不同方法。下面我们将深入探讨如何利用Struts2的通配符来实现这一功能...

    struts2通配符示例代码

    - 处理相似的请求:如果你有一个处理用户操作的Action,如创建、编辑、删除,可以使用通配符避免为每个操作都配置一个单独的Action。 - 动态资源管理:对于动态生成的页面,比如根据ID获取资源,`/{id}`可以方便地...

    struts2一个action处理多个请求 struts2实例

    除了XML配置,Struts2还支持使用注解来配置Action。在Action类或方法上添加`@Action`注解,可以指定请求映射、结果视图等。 6. **组合使用** 可以结合以上方法,如使用通配符和方法映射,让一个Action处理多个...

    struts2通配符的使用详解

    通过合理使用通配符,可以在一定程度上减少配置文件的冗余度,使配置更加简洁明了。 #### 二、通配符基本概念 在Struts2框架中,通配符主要用于Action的配置,其核心思想是“约定优于配置”。通过预设一定的命名...

    struts2笔记之动态调用Action指定方法及默认Action

    还有一种方式是使用通配符方法,例如:&lt;action name="*Action" class="com.LoginAction" method="{1}"&gt;&lt;/action&gt;这时,我们可以在 JSP 文件中使用 `&lt;s:form action="registerAction"&gt;` 将表单提交到 LoginAction 的 ...

    Struts2_入门篇_基本配置_通配符_参数注入_内置对象获取等。。。

    例如,你可以声明一个Action类,指定它的结果页面,如`&lt;action name="myAction" class="com.example.MyAction"&gt;`,然后定义一个或多个Result节点来指定不同的执行路径,如`&lt;result name="success"&gt;success.jsp&lt;/...

    Action名称的搜索顺序

    &lt;param name="actionName"&gt;login &lt;param name="namespace"&gt;/controls &lt;/result&gt; ``` 4. **PlainText**:此类型的结果用于直接返回文本内容,通常用于返回原始文件内容,如HTML、XML或纯文本文件。 - **配置...

    struts2 action的三种访问方式

    &lt;result type="dispatcher"&gt;/${actionName}.jsp&lt;/result&gt; &lt;/action&gt; ``` 在这个例子中,所有以"user_"开头的Action都会映射到`UserAction`类。Action名将作为方法名,例如访问`/user_save.action`会调用`...

    struts2通配符示例

    在Struts2中,通配符匹配功能是一个非常实用的特性,它允许我们使用一种相对灵活的方式来映射Action请求,从而简化配置并提高代码的可维护性。以下是对"struts2通配符示例"的详细解释: 1. **通配符匹配原理**: ...

    Struts2的配置文件的详细说明

    Struts2的配置文件不仅限于上述内容,还涉及更多细节,比如Interceptor配置、Result类型的定义、动态方法调用、通配符Action、类型转换器、异常处理策略等。每个部分都是为了提高应用程序的灵活性和可维护性,让...

    struts2.5+框架使用通配符与动态方法常见问题小结

    通配符是Struts2.5框架中的一种强大的功能,它允许开发者使用通配符来指定方法,减少配置文件中的action数量。动态方法则是Struts2.5框架中的一种动态调用方法的方式,它允许开发者使用动态调用方法来实现灵活的方法...

    达内培训机密资料_struts2_day03(2)

    &lt;param name="actionName"&gt;${session.nextAction} &lt;/result&gt; ``` ### 四、示例代码分析 1. **实体类User**: ```java public class User { private int userId; private String username; private String ...

Global site tag (gtag.js) - Google Analytics