Struts 2 动态方法调用

1.在jsp中如何得到Action的属性:
         (1).${requestScope.tip}
         (2).ValueStack vs = (ValueStack)request.getAttribute("struts.valueStack");
               vs.findValue("tip")
2.动态方法调用
        动态方法调用是指,表单元素的action并不是直接等于某个Action的名字,而是以action='ActionName!methodName.action'来指定Form的属性.
        Action里可以包含一个execute()方法和多个其它逻辑.
3.为action元素指定method属性
       即是将一个Action处理类定义成多个逻辑Action,指定action的method属性,则可以让action类来调用不同的方法.
       特点是只有一个action类,action类里有几个处理逻辑struts.xml里就包含着几个<action... />片断.也就是Action类的每个处理方法被映射成一个逻辑Action.
       缺点是多个action里定义的方法绝大部分相同,这种定义是相当冗余的.
4.使用通配符
       在配置<action .../>元素时,需要指定name,class,method属性都可支持通配符,这种使用通配符的方式是另一种形式的动态方法调用.
       当我们使用通配符定义Action的name属性时,就相当于一个元素action定义了多个逻辑Action.
       (1).<action name="*Action" class="lee.loginRegistAction" method="{1}">....</action>
            只要URL是*Action.action的模式,都可以能过该Action类处理.
            但该method属性使用了一个表达式{0},该表达式的值就是name属性值中的第一个*的值.
       (2).<action name="*Action" class="lee.{1}Action">....</action>
           只要URL是*Action.action的模式,都能通过相应的ation类处理.
           如:URL为registAction.action,则调用lee.registAction类的excute方法来处理

       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值