0

我的 url 可能有也可能没有某个参数,我为这样的 url 设置了动作类,如下所示:

<action name="{paramOne}/{paramTwo:myparam*}/details" 
     class="myaction"  
     method="execute"> 
     <result name="success">/mypage.jsp</result>
  </action>

所以 urlsomething/myparam/details正在工作,但是当我尝试调用时something/details(根据struts.xml应该工作)。它表明没有映射动作类。

4

2 回答 2

0

您的代码“*”只能在“{paramOne}/”和“/details”之间匹配,因此您必须在“{paramOne}/”和“/details”之间有一些东西

于 2017-05-17T10:01:48.147 回答
0

您希望将不同的 URI 模式路由到同一个操作,这正是操作映射的用途。我认为最好的解决方案是编写两个单独的语句。

如果您不想重复标签内的“代码”,<action>您可以chain这样做(这是一种内部重定向,一种别名)

<action name="secondpattern" class="com.opensymphony.xwork2.ActionSupport">
    <result type="chain">firstpattern</result>
</action>

https://struts.apache.org/docs/action-chaining.html

于 2017-05-18T11:03:39.520 回答