users@jersey.java.net

[Jersey] Re: Javascript call a Jersey method

From: Petr Jurák <petr.jurak_at_gmail.com>
Date: Fri, 11 Mar 2011 07:35:43 +0100

Hi,
You can use jQuery:

Here is my code snippet how to do that (this code was used for filling
values into select element):

<script type="text/javascript">
function getProducers() {
                var jqxhr = $
                                .getJSON(
                                                'http://localhost:8080/dsys-rest/resources/producers/service1',
                                                function(data) {
                                                        var options_producers = '<option value="-1">Choose
producer...<\/option>';
                                                        $.each(data,function(i, d) {
                                                        //window.alert(d.name);
                                                                options_producers += '<option value="' + d.id + '">'+ d.name +
'<\/option>';
                                                        });
                                                        $("select#producers").html(options_producers);
                                                        // set previous values for better persistence
                                                        <c:if test="${requestScope.producerId != null}">
                                                                $("select#producers").val(<c:out
value="${requestScope.producerId}" />);
                                                        </c:if>
                                                });
        }
</script>

and resource:

@Path("/producers/")
@Stateless
public class ProducerResource {

        @EJB(lookup = "java:global/dsys-service1/Service1Ejb", beanInterface
= cz.george.ds.api.IServiceLocal.class)
        private IServiceLocal service1;

        @GET
        @Path("service{id: [12]}")
        @Produces(MediaType.APPLICATION_JSON)
        public List<IProducer> getProducers(@PathParam("id") final Integer id) {
// this will return ArrayList of value object producer
                return service1.getProducers();
        }
}

2011/3/10 Pavel Bucek <pavel.bucek_at_oracle.com>:
> Hello,
>
> just like regular http request, see for example [1] or javascript frameworks
> offer simplified and more sophisticated way how to do this (see [2]).
>
> Regards,
> Pavel
>
> [1]
> http://java.net/projects/jersey/sources/svn/content/trunk/jersey/samples/jersey-ejb/src/main/webapp/index.html?rev=4700
> [2] http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
>
> On 3/10/11 10:14 PM, mahan_h wrote:
>>
>> Hi Gurus,
>> Does any body know how to invoke a Jersey resource method from Javascript
>> code? Any links or codes?
>>
>> --
>> View this message in context:
>> http://jersey.576304.n2.nabble.com/Javascript-call-a-Jersey-method-tp6159359p6159359.html
>> Sent from the Jersey mailing list archive at Nabble.com.
>>
>
>