Also I know that the default parameter is id but ideally i am trying to
create a url as follows
/person/name/{id}/{anotherId}/test-example
struts-restful wrote:
>
> I amended my URL to be as follows then using the namespace pattern matcher
>
> /person/name/{id}/test-example
>
> but this now maps the config as /person/name/{id}. How would I get rid of
> the {id} bit but still pass the parameter through?
>
> Thanks
>
>
>
> Musachy Barroso wrote:
>>
>> the namespace matcher, ad the name implies matches parameters only in
>> the namespace (the part before the action). To map params after the
>> action name, you have to use wildcards. Because this is confusing, we
>> introduced the advanced regex patters which will sove all the cases,
>> see this:
>>
>> http://cwiki.apache.org/confluence/pages/editpage.action?pageId=44247
>>
>> all 3 approaches are there with examples.
>> musachy
>>
>> On Tue, Sep 29, 2009 at 8:20 AM, struts-restful <[email protected]> wrote:
>>>
>>> Ok after some further investigating the problem appears to be when the
>>> server
>>> is starting up and it is building the namespaceActionConfig map.
>>>
>>> because my namespace on the action is set to
>>> /person/name/test-example/{id}
>>> when the action config is created the key is set to
>>> /person/name/test-example/{id}. So when I call the url the rest action
>>> mapper parses the mapping and creates a namespace of /person/name, and
>>> subsequently when it tries to determine the corresponding action config
>>> associated with this key nothing is found because on start up it had
>>> been
>>> mapped to /person/name/test-example/{id}.
>>>
>>> When i remove the namespace annotation and type in the url my action is
>>> then
>>> correctly mapped with /person/name.
>>>
>>> So is this a bug or have i missed something in my configuration?
>>>
>>> thanks in advance
>>>
>>>
>>>
>>> struts-restful wrote:
>>>>
>>>> Thanks for the help and your reply.
>>>>
>>>> i implemented the named pattern matcher but cant get it to work. I have
>>>> the following config in my struts.xml
>>>>
>>>> <bean type="com.opensymphony.xwork2.util.PatternMatcher"
>>>> name="namedVariablePatternMatcher"
>>>>
>>>> class="com.opensymphony.xwork2.util.NamedVariablePatternMatcher"/>
>>>>
>>>> <constant name="struts.enable.SlashesInActionNames" value="true"/>
>>>> <constant name="struts.patternMatcher"
>>>> value="namedVariablePatternMatcher"/>
>>>>
>>>> On my action I added the namespace annotation for example
>>>>
>>>> @Namespace("/person/name/test-example/{id}")
>>>>
>>>> this uses the restActionMapper but does not return a ActionConfig
>>>> object
>>>> with the namespace /person/name and the name test-example. When I
>>>> stepped
>>>> into this method in the DefaultConfiguration class the action
>>>> TestExampleController had not been added to the map when it tries to
>>>> find
>>>> a config object.
>>>>
>>>> I then tried the same url but removed the namespace annotation from the
>>>> action and typed the url into the browser. This went through the same
>>>> code
>>>> but this time returned the correct ActionConfig object and the action
>>>> executed successfully.
>>>>
>>>> Am i missing a step somewhere
>>>>
>>>> All help is appreciated. thanks in advance.
>>>>
>>>>
>>>>
>>>> Musachy Barroso wrote:
>>>>>
>>>>> You want to look at wildcards:
>>>>>
>>>>> http://struts.apache.org/2.x/docs/wildcard-mappings.html
>>>>>
>>>>> That feature that Alex is refering to (coined advanced wildcards for
>>>>> lack of imagination), is in trunk and has not been released yet.
>>>>>
>>>>> musachy
>>>>>
>>>>> On Mon, Sep 28, 2009 at 5:57 AM, Alex Siman
>>>>> <[email protected]>
>>>>> wrote:
>>>>>>
>>>>>> Look here:
>>>>>> http://www.nabble.com/parameters-in-url-td25602877.html
>>>>>>
>>>>>> Restful plugin is not so good as it supposed to be.
>>>>>>
>>>>>> struts-restful wrote:
>>>>>>>
>>>>>>> Does anyone know how to get the restful web service to call a method
>>>>>>> different to show or edit.
>>>>>>>
>>>>>>> For example I have the following url
>>>>>>>
>>>>>>> http://localhost:8080/testeg/my/example/example-count/1/count.xml
>>>>>>>
>>>>>>> I want this to call the method count in my ExampleCountController.
>>>>>>> The
>>>>>>> URl
>>>>>>> goes to the action and calls the setId method setting the Id 2 but
>>>>>>> does
>>>>>>> not go to the count method
>>>>>>>
>>>>>>> Thanks
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://www.nabble.com/restful-URL-issue-tp25641701p25645156.html
>>>>>> Sent from the Struts - User mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: [email protected]
>>>>>> For additional commands, e-mail: [email protected]
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> "Hey you! Would you help me to carry the stone?" Pink Floyd
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: [email protected]
>>>>> For additional commands, e-mail: [email protected]
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/restful-URL-issue-tp25641701p25665119.html
>>> Sent from the Struts - User mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [email protected]
>>> For additional commands, e-mail: [email protected]
>>>
>>>
>>
>>
>>
>> --
>> "Hey you! Would you help me to carry the stone?" Pink Floyd
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>>
>>
>>
>
>
--
View this message in context:
http://www.nabble.com/restful-URL-issue-tp25641701p25665572.html
Sent from the Struts - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]