资讯专栏INFORMATION COLUMN

Struts2深入之动态调用Action

waruqi / 1451人阅读

摘要:使用过的小伙伴们应该知道当我们的的方法过多是如果需要通过框架进行运行,我们就必须在的配置文件文件中配置多个属性标签,但是当个数在以上时这种方法就显得不那么方便了,在此我们使用三种方法通过框架来动态地调用通过配置属性通过感叹号的方式来调用通过

使用过Struts2的小伙伴们应该知道当我们的action的方法过多是如果需要通过Struts2框架进行运行,我们就必须在Struts2的配置文件Struts2.xml文件中配置多个action属性标签,但是当action个数在10以上时这种方法就显得不那么方便了,在此我们使用三种方法通过Struts2框架来动态地调用action

【1】通过配置action属性
【2】通过感叹号的方式来调用
【3】通过通配符的方式

接下来我们就一一为大家讲解以上三种方法的使用:

【1】通过配置action属性
首先在我们action中有两个方法---add和update,核心代码如下:

public String add()

{
        return SUCCESS;
}
public String update()
{
        return SUCCESS;
}
接下来我们就需要在Struts.xml文件中进行相关配置,配置中action的name属性不能出现同名,在其后的action的method属性,指出调用action的哪个方法
 
       
        
                        /result.jsp
                
        
                        /add.jsp
                
     
                   /update.jsp
                
        

当我们在地址栏中输入http://localhost:8080/struts2...,即可调用HelloWorld这个action的add方法,结果如下图所示:

【2】通过感叹号的方式来调用

(Struts官方不推荐使用该方法,但在此仍在这里和大家分享一下)
使用该方法,首先应该在Struts.xml配置文件一句话:


使用这句话的目的是允许Struts动态地调用方法
之后的Struts.xml配置文件对action的配置如下:

        
                /result.jsp
                /add.jsp
                /update.jsp
        

另外也需要在action相关的方法中的返回值进行修改,执行时success,而实现这个方法动态调用action时则需要将return 后的值应和action标签中result属性的name值一致,具体如下图:

public String add()

{
        return "add";
}
public String update()
{
        return "update";
}

在地址栏输入的地址也需做相应的改变,具体如下:
http://localhost:8080/struts2...,其结果如下图:

【3】通过通配符的方式(官方推荐的使用方式)

首先应该讲Struts.xml配置文件中的constant标签中的value属性改为false,另外Struts.xml文件中的其他部分应需做相应的修改,具体如下:

 
                
                        /result.jsp
                        /add.jsp
                        /update.jsp
                
        

action和方法二中的方法一样
在地址栏输入的地址有所不同,具体如下:
http://localhost:8080/struts2...结果和上图一样
这就是三种调用action的方法,希望对大家有所帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/35498.html

相关文章

  • Struts2深入动态调用Action

    摘要:使用过的小伙伴们应该知道当我们的的方法过多是如果需要通过框架进行运行,我们就必须在的配置文件文件中配置多个属性标签,但是当个数在以上时这种方法就显得不那么方便了,在此我们使用三种方法通过框架来动态地调用通过配置属性通过感叹号的方式来调用通过 使用过Struts2的小伙伴们应该知道当我们的action的方法过多是如果需要通过Struts2框架进行运行,我们就必须在Struts2的配置文件...

    Allen 评论0 收藏0
  • CTFshow刷题日记-WEB-JAVA(web279-300)Struts2全漏洞复现,Java漏

    摘要:全部题都是框架漏洞是用语言编写的一个基于设计模式的应用框架关于漏洞,都有环境并且给出了漏洞原理和项目地址判断网站是否基于的方法链接通过页面回显的错误消息来判断,页面不回显错误消息时则无效通过网页后缀来判断,如,有可能不 ...

    jindong 评论0 收藏0
  • Struts2 入门 1

    摘要:是的下一代产品,是在和的技术基础上进行了合并的全新的框架。其全新的的体系结构与的体系结构差别巨大。以为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与完全脱离开,所以可以理解为的更新产品。 Struts是什么 概念 Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Cont...

    tabalt 评论0 收藏0
  • java面试

    摘要:面向切面编程的目标就是分离关注点。不会出现数据不一致或者数据污染。线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据和区别是的轻量级实现非线程安全的实现 spingmvc 和 structs的区别 我们用struts2时采用的传统的配置文件的方式,并没有使用传说中的0配置。 spring3 mvc可以认为已经100%零配置了(除了配置spring ...

    BlackMass 评论0 收藏0
  • Struts2【OGNL、valueStack】就是这么简单

    摘要:也被称作值栈对象当用户访问,都会创建一个对象,对象对象把对象放进对象之中。对象维护了对象的数据存储着等数据也就是说通过对象可以获取大部分我们需要的数据了。 什么是OGNL表达式? OGNL是Object Graphic Navigation Language 是操作对象属性的开源表达式。 Struts2框架使用OGNL作为默认的表达式语言。 为什么我们学习OGNL 在学习JSP的时候,...

    Jenny_Tong 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<