私はちょうど非常にシンプルなコントローラをセットアップして非常に単純なビューを返すようにしようとしていますが(非常にシンプルなレイアウトで)、コンテンツタイプに関連したエラーが続きます。Grailsでコンテンツタイプを設定するにはどうすればよいですか?
class SimpleController {
def index() {
render(view: "simple")
}
}
_simple.gsp:
<html>
<head>
<meta name="layout" content="blank" />
</head>
<body>
Simple test page.
</body>
</html>
blank.gsp:
<!DOCTYPE html>
<html>
<head>
<g:layoutHead />
</head>
<body>
<g:layoutBody />
</body>
</html>
それはそれよりもはるかに簡単に取得していません。コントローラメソッドが正しく見つかった、問題はレンダリング中であるようです。 [GET]/testApp /がリクエストを処理するときにNullPointerExceptionが発生しました。エラーが発生しました:
2016-07-05 16:07:14,931 [http-bio-8085-exec-5] ERROR errors.GrailsExceptionResolver - シンプル/ Stacktraceは次のとおりです。 メッセージ:null Line |方法 - >> 15 | in com.opensymphony.module.sitemesh.filter.HttpContentType
| 49 | com.opensymphony.sitemesh.compatability.PageParser2ContentProcessorを構築する | 89 | getContent。 。 。 。 。 。 。 。 。 。 org.codehaus.groovy.grails.web.sitemesh.GrailsContentBufferingResponse | 107 | getContent in org.codehaus.groovy.grails.web.sitemesh.GrailsLayoutView
デバッグでは、context.contentTypeがnullであることが確認されます。コンテンツタイプを設定する方法は4つありますが、どちらも機能していないようです。
<%@ page contentType="text/html;charset=UTF-8" %>
ビューの上部にあります。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
ビューの先頭タグにあります。
contentType: "text/html"
コントローラのレンダリングメソッドに渡されました。
response.setContentType("text/html")
コントローラメソッドで呼び出されます。
これは、他の多くのコントローラとビューが完全に正常に動作する既存のプロジェクトにあります。新しいコントローラとビューを追加する必要があります。これはもともとは既存のワークピースをコピーしたものです。それがうまくいかなかったとき、私はできるだけシンプルになるように問題を減らそうとしましたが、上のコードで終わってしまいました。これはまだ動作していません。
Btw、これはGrails 2.5.1(このバージョンに固執しています)です。
ありがとうございます。 _が必要なときには、私は決してgrailsで決めることができません。私がコピーしたコードは_を使用しています。ビューリゾルバが指定されたビューを見つけることができないというエラーを投げなかったので、私はそれを変更することも考えなかった。 –