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

  

概述:struts2.5以后加强了安全性、下面就是安全配置引发的问题

  

  

在学习struts框架时经常会使用到通配符调用方法,如下:

        & lt;包名称=="/"扩展=皍sercrud”名称空间“struts-default”比;   & lt;动作名称=安馐? *”class=" com.gitee.dgwcode.action。UserCrudAction”方法=皗1}”在   & lt;结果名称="查询"祝辞/视图/success.jsp   & lt; !- & lt; allowed-methods>查询、删除、更新、insert——比;   & lt;/action>& lt;/package>      

,,,其中的<代码>动作名称=皍ser_ *”中*这个符号代表的值会传入<代码>方法=皗1}”中,并对应的行动类的一个方法名,这样就能很大程度地减少配置文档中行动的数目。

  

但是在使用这种通配符方法的时候,经常会看到这样的映射错误提示

  
  

Struts问题报告
  Struts已经发现一个未处理的例外:

  

消息:,,,
  没有行动映射名称空间(/)和动作名称[test-update]与[/Struts2_01]上下文路径。

     

如果看到提示的是映射问题,你可以按照映射路线排除一遍,

  

第一步:先排查访问的链接有没有问题(细节问题)

  

第二步:查看struts.xml的配置(仔细排查,出现问题几率很大)

  

第三步:查看相关的动作类及方法(比如返回的值是不是跟配置文件中对的结果应得上等)

  

第四步:查看结果响应页面是否存在问题(出现问题的几率比较小)

  

  

当使用动态调用方法时(action名+感叹号+方法名进行方法调用),需要将其属性改为真的,

  

如:查询为类中的方法名

        https://www.yisu.com/zixun/& lt; a href=" $ {pageContext.request.contextPath}/测试!查询“rel="外部nofollow”祝辞DynamicMethodInvocation & lt; br>      

当使用通配符调用语法时,建议将其属性改为假(struts2.5.2中默认是false)

  

当我们需要将其属性改成假时,

  

只在struts.xml配置文件中加入此句即可修改属性

        name=" struts.enable & lt;常数。DynamicMethodInvocation " value=" https://www.yisu.com/zixun/false "/比;   & lt; !——动态方法调用——比;   & lt;动作名称==癱om.gitee.dgwcode.action.UserCrudAction”比“测试”类;   & lt;结果名称="查询"祝辞/视图/success.jsp   & lt; allowed-methods>查询、删除、更新insert   & lt;/action>      

总结:& lt; allowed-methods>方法名1,方法名2…& lt;/allowed-methods>代码
  

  

  

struts框架使用的通配符调用方法配置:

        & lt;包名称=霸洹?皊truts-default”延伸比;   & lt; !——配置行动——比;   & lt;动作名称=癮ction_ *”class=靶卸狈椒?皗1}”比;   & lt;结果名称=俺晒Α痹趇ndex.jsp   & lt;/action> & lt;/package>      

其中<代码> & lt;动作名称=癮ction_ *”class=靶卸痹?/代码>中的<代码> name=" action_ * ">   

注:struts2.3之前使用以上配置正常,struts2.3之后,使用通配符调用方法要加上& lt; allowed-mthods>方法名1,方法名2 . . & lt;/allowed-mthods>

        & lt;包名称=霸洹?皊truts-default”延伸比;   & lt; !——配置行动——比;   & lt;动作名称=癮ction_ *”class=靶卸狈椒?皗1}”比;   & lt;结果名称=俺晒Α痹趇ndex.jsp   & lt; allowed-mthods>方法名1,方法名2 . . & lt;/allowed-mthods>   & lt;/action>   & lt;/package>      


  

  

以上所述是小编给大家介绍的struts2.5 +框架使用通配符与动态方法,希望对大家有所帮助,如果大家有任何疑问请给我留的言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

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