5

次のような非常に単純な JSP があります。

<%@ page contentType="application/json" %>${actionBean.response}

actionBean.responseを返しますString。その文字列は、"application/json" の contentType を持つ json である場合もありますが、その文字列は "application/javascript" の contentType を持つ jsonp である場合もあります。しかし、contentType の値を動的に設定する方法がわかりません。

  1. contentTypeを使用<c:choose>してみましたが、contentType を 2 回設定できないというエラーが表示されます。
  2. 属性の値にELを使ってみたのですが、展開されません。

この値を動的に設定する方法はありますか?

4

2 に答える 2

4

次のように、スクリプトレットを使用してみてください (理想的ではありませんが、別の方法があるかどうかはわかりません)。

<%
    if (actionBean.isJson()) {
        response.setContentType("application/json");
    } else if (actionBean.isJsonp()) {
        response.setContentType("application/javascript");
    }
%>

編集: Joop がコメントで言及しているように、 @page ディレクティブを使用して contentType を設定していないことを確認してください。

于 2013-07-23T15:14:25.440 に答える