2010-12-21 30 views
0

Spring DispatcherPortletを使用してxmlHttpRequestsを処理する経験をお持ちの方は、どうすればよいか教えてください。Spring-portlet POST ajax xmlHttpRequest

@ResourceMapping(value="stuff") 
public void method(ResourceResponse response){ 
    Person person = new Person(); 
    person.setWeight(150); 
    ObjectMapper mapper = new ObjectMapper(); 
    try{ 
     mapper.writeValue(response.getWriter(), person); 
     } 
    ... 
    } 

アヤックス:

function() { 

    var A = AUI(); 

    A.io("<portlet:resourceURL id="stuff" />", { 
     method: 'POST', 
     data: { 
     description: 'value' 
     } 
    }); 
    } 

Thisあなたは同じサポートを持っています春・ポートレット環境を投票することができます問題である私は、一例として、YUIのIOモジュールとジャクソンオブジェクトマッパーを使用していますそれは一般的なspring-mvcにあります。これは@ResponseBodyなどJSONへのデータ変換今、私の知る限り1は、それを手動で行う必要があります...です

EDITED:より良い https://stackoverflow.com/questions/4782971/handling-ajax-requests-with-spring-portlet

を処方されるこの問題を見てみましょう:

はPLEASEソリューションを考え出しました

+1

http://stackoverflow.com/questions/4782971/handling-ajax-requests-with-spring-portletがもう存在しないように見える – Eric

答えて

0

どのようにURLを作成しますか?あなたがアクションURLを作成していると思います。おそらく、レンダーURLでなければなりません。つまり、<portlet:actionURL/>の代わりに<portlet:renderURL/>を使用する必要があります。

希望します。

+0

これはjsr 283仕様の一部です。これは主にAjaxのリクエスト用に作成されたものです。そして、正しい注釈は@ResourceMapping(value = "sample")です...しかしSpringポートレットはAjaxリクエストを処理するには良くないですが、JSON応答の組み込みサポートはありません。手動で行う必要があります。ポートレットと春が好きな人は、この問題を投票してください。https://jira.springframework.org/browse/SPR-7344 – lisak

+0

ありがとう@lisak、私はこの素晴らしい機能を確実に投票します。 –