编程语言
首页 > 编程语言> > java – 在Struts 2中传递URL中没有查询字符串的参数

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