java – 在Struts 2中传递URL中没有查询字符串的参数
作者:互联网
我喜欢使用像host / ActionName / 123 / abc /这样的URL,而不是传递像host / ActionName这样的查询字符串?parm1 = 123& parm2 = abc.
我怎么能在Struts2中做到这一点?
我完成如下.但它不起作用,显示500错误代码
<constant name="struts.enable.SlashesInActionNames" value="true"/>
<constant name="struts.mapper.alwaysSelectFullNamespace" value="false"/>
<package name="default" extends="struts-default" namespace="/">
<action name="/action/*"
class="gov.apiic.serviceRequest.action.ServiceRequest" method="method" >
<param name="p1">{1}</param>
<result name="success">views.jsp</result>
</action>
</package>
解决方法:
2.1下的普通Struts2是不可能的.作为一种解决方法,您可以使用UrlRewriter filter执行此操作.从Struts2 2.1开始,在通配符的帮助下,您可以使用类似host / ActionNmae / param1-123 / param2-abc的内容,请参阅this帖子,但不能像host / ActionNmae / 123 / abc /.不同之处在于,在第二种情况下,没有参数名称.解决方法是使用Parameters after the action name.
@Action(value = "/ActionNmae/*/*", params = {"param1", "{1}", "param2", "{2}"}
标签:url-parameters,java,struts2,parameters,wildcard-mapping 来源: https://codeday.me/bug/20190923/1814093.html