日期:2014-05-17  浏览次数:20846 次

如何在Struts2 注解 动态方法 调用时用下划线
使用struts2注解进行动态方法调用时默认是用感叹号(!)进行分割,如:test!method.action,
如何把感叹号(!)换成下划线(_),如:test_method.action
这样写不行啊:@Action("testAction_*")。请教高手。
------解决方案--------------------
引用:
Quote: 引用:


String s1="test!method.action";
String s2=s1.replace("!", "_");

你是要这种东西吗?还是通配符还是!的使用?

通配符,struts2注解默认的是使用叹号(!)来分割action名和方法,如URL:test!method.action
现在我想改成下划线(_)来分割,如URL:test_method.action,能否实现?

可以,不过你要自己写个ActionMapper用于解析动态方法调用。struts2默认的ActionMapper是org.apache.struts2.dispatcher.mapper.DefaultActionMapper里面的parseActionName就写死了用"!",所以你自己要用其它符号的话,自己写个类继承DefaultActionMapper重写parseActionName方法.然后在struts.xml里面写上<constant name="struts.mapper.composite" value="你的ActionMapper类路径"/>