`
冰封之月
  • 浏览: 17949 次
社区版块
存档分类
最新评论

struts2选择调用action中的某方法

阅读更多
方法1:
在struts.xml配置
    <package name="product" namespace="/product" extends="struts-default">
        <action name="list" class="web.action.ProductAction" method="list">
            <result>/list.jsp</result>
        </action>
        <action name="add" class="web.action.ProductAction" method="add">
            <result>/add.jsp</result>
        </action>
    </package>

method属性对应这action中的方法名

方法2:
超链接或提交表单时选择用执行的方法
struts.xml
    <package name="product" namespace="/product" extends="struts-default">
        <action name="product" class="web.action.ProductAction">
            <result>/list.jsp</result>
        </action>
    </package>

html:
<a href="/product/product!list.action" />

执行ProductAction中的list方法

表单提交
<form action="/product/product!list.action"></form>


实际应用:
基于方法1:{1}
1.让action的name,method和返回的jsp都叫一样的名字
2.struts.xml如下配置
    <package name="product" namespace="/product" extends="struts-default">
        <action name="{1}" class="web.action.ProductAction" method="{1}">
            <result>{1}.jsp</result>
        </action>
    </package>

当url为/product/list时,{1}就会换成{list},就可以实现调用action中的方法了
需要多个通配符时,可以这样name="{1}_{2}"

基于方法2:!
这个方法配置的action很少,要想返回的视图jsp不能写死,要用这样方法:<result>${params}</result>
action
public class ProductAction extends ActionSupport{
private String result;
public String list{
....
this.setResult("list");
return SUCCESS;
}
}


    <package name="product" namespace="/product" extends="struts-default">
        <action name="product" class="web.action.ProductAction">
            <result>/${result}.jsp</result>
        </action>
    </package>

${result}会被变为list,最终结果是<result>list.jsp</result>,这样就实现了动态的返回视图jsp
分享到:
评论

相关推荐

    Struts2 动态方法调用(十三)

    在Struts2中,动态方法调用(Dynamic Method Invocation,DMI)是一种特性,允许我们通过URL直接调用Action类的方法,而无需在配置文件中显式指定。这在某些情况下提供了更大的灵活性。 在Struts2的动态方法调用中...

    Struts2动态方法调用

    在Struts2中,JavaScript可以用来发起Ajax请求,动态调用后台Action的方法。例如,我们可以使用jQuery的`$.ajax`或`$.post`方法,配合Struts2的ActionContext,将请求参数传递给服务器。在服务器端,Struts2会解析...

    struts 2 action 动态调用

    默认情况下,Struts 2会调用Action类中的`execute()`方法。 2. **Struts.xml**: 这是Struts 2的配置文件,用于配置Action、拦截器等组件。 3. **Interceptors (拦截器)**: 拦截器用于处理Action执行前后的一系列...

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

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

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

    在 Struts2 中,我们可以使用不同的方式来动态调用 Action 的指定方法,例如使用表单提交、struts.xml 配置、通配符方法等方式。此外,我们还可以配置默认的 Action 和全局结果,以便更好地管理我们的应用程序。

    一个Action多方法调用的Struts 2的应用程序

    利用Struts 2框架创建一个web项目chap2_e22,实现用户登录过程。具体要求是在loginAction类中分别用login()和registered()处理用户登录和注册的过程,分别创建login.jsp和register.jsp两个页面实现登录和注册的...

    struts2 对action中的所有方法进行校验

    下面我们将深入探讨Struts2如何对Action中的所有方法进行校验。 首先,Struts2的校验机制基于两个主要组件:Validator和ValidationInterceptor。Validator负责定义校验规则,而ValidationInterceptor则是在执行...

    JS调用Struts中的Action

    如果使用表单提交的方式来调用Action,则可以通过表单中的`&lt;input&gt;`标签来传递参数。例如,`&lt;input name="paraName" value="arg0"&gt;`表示传递一个名为`paraName`的参数,其值为`arg0`。 #### 总结 通过JavaScript...

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

    但通过`method`属性,我们可以指定特定的请求调用Action类中的不同方法。例如: ```xml &lt;action name="myAction" class="com.example.MyAction"&gt; &lt;result name="saveSuccess"&gt;/success.jsp ...

    struts2动态访问调用-method方法

    总之,Struts2的`method`属性为开发者提供了更大的灵活性,使我们能够在同一个Action类中定义多个处理方法,根据用户请求动态选择执行,极大地提高了代码的组织和管理效率。在实际开发中,合理利用这一特性可以更好...

    struts2的API耦合与动态方法调用

    本文将重点讨论Struts2中的API耦合和动态方法调用,这两种特性对于理解框架的工作原理和提高代码的灵活性至关重要。 首先,我们来看看Struts2 API耦合的几种方式: 1. **ActionContext类**:ActionContext是Struts...

    struts2 action跳转action传参数

    - 如果只需要传递一个参数,那么在action1中只需定义该参数的getter方法,在action2中则需同时定义getter和setter方法。 2. **使用`redirectAction`类型的结果** 使用`redirectAction`类型的结果同样可以实现...

    struts2中动态方法的调用

    在Struts2中,动态方法调用基于Action类中的方法名与URL中的参数相匹配的原则。当一个请求到达时,Struts2会解析URL中的方法名(通常是通过在Action名称后加上“!”符号后跟的方法名),然后在对应的Action类中查找...

    Struts2 Action参数详细说明

    默认情况下,Struts2会调用Action类中的execute方法来处理请求。但是,通过`method`属性,我们可以指定不同的方法对应不同的Action,这样可以实现一个类中多个方法的映射,提高代码复用性。例如: ```xml &lt;action ...

    Struts2之异步调用机制详解案例struts014

    这个案例“struts014”很可能展示了如何在Struts2中实现异步调用来处理耗时操作,如数据库查询或复杂计算。 异步调用的基本概念是,客户端(通常是Web浏览器)发起一个请求,服务器不立即返回结果,而是启动一个...

    Struts2 in action(struts2实战)

    - **Action**:在Struts2中,Action是业务逻辑的载体,负责处理用户请求并返回结果。每个Action对应一个特定的用户操作。 - **Result**:Action执行完毕后,会返回一个Result,定义了页面跳转或数据呈现的方式。 ...

    struts2 动态方法调用(DMI)

    Struts2 动态方法调用(DMI,Dynamic Method Invocation)是Struts2框架中一个特色功能,允许开发者通过URL直接调用Action类中的方法,而无需预先在配置文件中显式声明这些方法。这种机制增加了开发的灵活性,但也...

    Struts2操作同一action的不同方法跳转jar包(包括示例代码)

    在Struts2中,Action类是处理用户请求的核心组件,一个Action类可以包含多个方法,每个方法对应一个特定的业务逻辑。本资源提供了关于如何在Struts2中操作同一Action的不同方法并进行页面跳转的详细知识,下面将深入...

    struts2动态调用之通配符

    Struts2会根据URL中的部分替换通配符,并尝试调用Action类中的方法。如果找不到与之匹配的方法,Struts2将会回退到默认的执行方法(通常是`execute`)。 为了更高效地利用这一特性,我们需要遵循以下几点: 1. 方法...

    Struts2中struts_xml的Action配置详解

    首先,Action配置是Struts2中定义业务逻辑入口的关键,它将HTTP请求映射到特定的Java类方法上。在`struts.xml`中,一个Action配置通常由`&lt;action&gt;`元素定义,包含了多个属性,如`name`、`class`、`method`等。 `...

Global site tag (gtag.js) - Google Analytics