2016-12-28 4 views
0

URLに複数のパラメータを持つWebサービスを作成しています。私はjax-rsでこれを行うことができますが、Struts2でこれを行うことはできますか?私はJAX-RSで行われたかもしれない何複数のパラメータを持つRESTful Struts2 Webサービス

@Path({@PathParam("service"),@PathParam("companyName"),@PathParam("acctId")}) 
private String service; 
private String companyName; 
private String acctId; 

// Setters omitted for brevity. 

やアクションのフィールドにパスパラメータをマッピングすることができる任意の他の種類の設定を:私はStruts2の中で希望何

@Path("/{service}/{companyName}/{acctId}") 
    public Response acceptPostAccount(@PathParam("service") String service, 
           @PathParam("companyName") String companyName, 
           @PathParam("acctid") String acct) 

私がオンラインで見たすべてのドキュメントと例は、Idという単一のパラメータを示しています。

答えて

0

はい、できます。

これらの定数をstruts.xmlに設定します。あなたのアクションでプロパティのセッターを持っている必要があります。もちろん、

<action name="/{service}/{companyName}/{acctId}"> 
    ... 
</action> 

:として

<constant name="struts.enable.SlashesInActionNames" value="true" /> 
<constant name="struts.mapper.alwaysSelectFullNamespace" value="false" /> 
<constant name="struts.patternMatcher" value="regex" /> 

その後のアクションを定義します。

Struts2ではAdvanced Wildcardsと呼ばれ、2.1.9以降で使用できます。

関連する問題