为了账号安全,请及时绑定邮箱和手机立即绑定

关于使用感叹号!方式实现动态方法调用的疑问

按照老师的方法将struts.enable.DynamicMethodInvocation的value值设置为true时确实可以使用!来实现动态方法调用。我之后查看了下官网的文档,官网文档(在Wildcard Method标题段落末尾)是这样说的(文档地址

If Wildcard Method mapping uses a "!" in the action name, the Wildcard Method will overlap with another flexible approach to mapping,Dynamic Method Invocation. To use action names that include the "!" character, set struts.enable.DynamicMethodInvocation to FALSE in the application configuration.

我应该怎么理解它说的将其设置为FALSE?设置FALSE是不能实现!动态方法调用。


正在回答

3 回答

因为用!是指定用struts.enable.DynamicMethodInvocation来调用动态方法的,但是通用符就不必用struts.enable.DynamicMethodInvocation来调用动态方法,干脆不用写这个常量。2.5版本就需要用strict-method-invocation="false"来方法调用

0 回复 有任何疑惑可以回复我~

哈哈,这么说的话。确实有点钻牛角尖了。那段话我也不是太理解。不过呢,咱都不用那种方式,就没必要钻那个牛角尖了。

0 回复 有任何疑惑可以回复我~
#1

兮蓅 提问者

嗯,谢谢你回答这个问题~
2016-12-08 回复 有任何疑惑可以回复我~

我的理解就是,首先,开发中,基本甚至不会用到这种感叹号的访问形式,所以不必做过多的深入理解,老师也说过,这种方式只是存在,但不推荐使用,他演示给我们看看,知道这种形式存在就好了,实际根本用不到,用第三种就好了。好吧,说那么多偏离你的主题了,老师说过,想要用感叹号这种方式,必须DynamicMethodInvocation值为true。false肯定是不行的。其实开发中第三种用的很多。没必要深入研究

0 回复 有任何疑惑可以回复我~
#1

兮蓅 提问者

你说的有道理,官网是不推荐使用!方式。现在版本的Struts已经由之前的DMI升级到2.5版本的SMI了,我只在使用!方式的时候使用过DynamicMethodInvocation这个属性。我是不是不该转牛角尖?我就是看不懂官网这个文档中的这段话是啥意思/笑cry
2016-12-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于使用感叹号!方式实现动态方法调用的疑问

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信