2016-09-23 11 views
0

私はJava/JEEに基づいたプロジェクトを持っています。私はJSP Pageも使用しています。私のJavaコードでは、私はstruts 2を使用してアクションを実行します。エラーが発生した場合は、errorを返す必要がありますので、JSPが戻ります。 私のJSPでは、戻り値がerrorであっても、この関数は常にsuccessを実行するという問題があります。 解決方法はありますか?Struts 2でAjax URLを使用してアクションを呼び出す - エラー戻りは考慮されません

私のコードをJavaのアクションとの衝突:

@Action(value = "enableFlux", results = { @Result(type = TYPE_JSON) }) 
public String enableFlux() { 
    //Another code here 

    if (trameRetour == null) { 
     LOGGER.error("Trame de retour est null!); 
     return error; 
    } 
    else { 
     return success; 
    } 
} 

マイJSP:

function enableFlux(image,idAbonnement) {  

    if(confirm("Confirmez-vous l\'activation du flux "+idAbonnement)==true){ 
     $.ajax({ 
        type : "post", 
        url : '${pageContext.request.contextPath}/flux/enableFlux.action', 
        data : "idAbonnement="+idAbonnement, 
        contentType : "application/x-www-form-urlencoded; charset=UTF-8", 
        success : function(data, status, request) {       
         image.src = "${pageContext.request.contextPath}/styles/img/boutontrue.png"; 
         $("#span"+data.abonnement.id).addClass("spanLabeltrue"); 
         $("#span"+data.abonnement.id).removeClass("spanLabelfalse"); 
        }, 
        error : function(data, status, request){ 
         alert ("Problème !"); 
        }      
     }); 
    }    
} 
+0

[Struts 2 - Ajax - エラー戻りは考慮されていません](http://stackoverflow.com/questions/) 39643665/struts-2-ajax-error-return-not-考慮される) –

答えて

0

私は、Java/JEEで最新ではありませんが、私はjQueryのについて少し知っています。これまでHTTP-ヘッダーのStatusCodeの2xxを返すときsuccessコールバックが使用されている

(最良の方法は、200魔女がOKを意味している)

https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

あなたはjQueryの操作することが、あなたが持っているerrorコールバックを使用したい場合HTTPヘッダーがステータスコード4xx(クライアントエラー)または5xx(サーバーエラー)を返します。

関連する問題