web-dev-qa-db-ja.com

grails gspテンプレートで、sitemeshがエラーをスローせずにサーバー側のコメントを使用するにはどうすればよいですか?

Gspテンプレートで標準のjspコメントブロックを使用する場合

<%-- some server-side comment --%>    

、sitemeshは「予期しないトークン」エラーをスローします。使用できる別のコメント構文はありますか?

21
gabe

通常のJavaコメントブロックは機能します

<% /*  some server side comment */ %>
4
gabe

以下は私のために働きます

%{-- <div>hello</div> --}%
22
Dónal

'%'記号がありません。次のように書いてください:

<%-- some server-side comment --%>
17
MAlex

元の質問は、GSPファイル内の何かをコメントアウトする方法を尋ねることでした。私のために働いた唯一のものは

<%-- some code to comment out --%>

コメントされているコードがgrailsタグである場合は特に、他の回答は機能しません。 %{および<%は機能しませんでした。

4
ibaralf

最初に説明してもらいたい以前の回答(および質問自体)には少し混乱があります。 .gspにはいくつかの種類のサーバー側コメントがあります。したがって、.gspドキュメント内のサーバー側のコメントは次のようになります。

<%@ page contentType="text/html; charset=UTF-8" %>
<html>
<head></head>
<body>
    <!-- the basic HTML comment (not on server side) -->
    <h1>Visible on client side</h1>

    <%-- GSP common comment (server side only) --%>
    %{-- GSP alternative approach (again, on server side only) --}%
    <g:if test="${true}">
        <h1>Invisible on client side, just in source code</h1>
    </g:if>

    <p>and the one asked for happens elsewhere, 
    whenever you write classic Groovy script</p>
    <g:set var="myTitle"/>
    <%
        myVar = 'comment'
        if(myVar.equals('comment')){
            /*Needs the classic Java comment, 
            this happens whether you're writing a simple .gsp 
            or any _template.gsp*/
            myTitle = "<h1>Visible on server side only</h1>".encodeAsRaw()
        }
    %>
    ${myTitle}

    <p>.gsp template does not modify comment behaviour</p>
    <g:render template="/templates/myTemplate" model="[:]"/>
</body>
</html>

ファイル:_myTemplate.gsp

<h2>Template</h2>

<!-- visible -->
<% invisible %>
%{-- invisible --}%
<% /*invisible*/ %>

(Grails 2.5.5)

3
Smithfield

<%-- server side code --%>動作するはずです

0
Tony