2

これは2つの部分からなる質問です。
パート1:私は、私はまたのために
<c:set target="${pageContext.response}" property="ContentType" value="${contentType}"/>
を試してみましたthis.
のような応答を取得JSPでコンテンツタイプとステータスコードを設定する

<c:if test="${fn:contains(header['accept'], 'xml')}"> 
    <c:set var="contentType" value="application/xml;charset=UTF-8"/> 
</c:if> 
<c:if test="${fn:contains(header['accept'], 'json')}"> 
    <c:set var="contentType" value="application/json;charset=UTF-8"/> 
</c:if> 
<jsp:directive.page contentType='${contentType}'/> 

いる

をやっている Acceptヘッダーに応じて、JSPページの content-typeを設定したいです私が持っている
Invalid property in &lt;set&gt;: "ContentType"
私の他のEL式は正しく評価されているので、私は既に属性を使って実験を行っています。私もスクリプトレットタグを使用したくありません。
パート2: status codeを、 のJSPページのみのスクリプトレットタグの助けを借りて動的に設定したいとします。
現在、私は、私はそれが servletまたは filterに設定することができます知っていますが、私はこれを通して私を導くtag.Kindlyそれは jspのページから、あるいは customで設定することにしたい
<% response.setStatus(200) %>
をやっています。

答えて

3

ソリューションは私はので、私はこれを試してみました、それが働いたsetAttribute()を使用しましたで私の前の仕事につまずい
ので、これはそれを行うことができる方法です。

HttpServletResponse response = (HttpServletResponse) pageContext.getResponse(); 

あなたがresponseオブジェクトをしたら、あなたが簡単にContent-Typestatus code

を設定することができます。一部は、我々は HttpServletResponseオブジェクトこの方法を得ることができるで BodyTagSupportを拡張してカスタムタグを作成するの両方について
関連する問題