0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Nablarch: writeタグとrawWriteタグの違いは?brタグを使用できるのはどっち?

Last updated at Posted at 2024-01-24

結論

  • brタグを使用できるのは、rawWriteタグ。
  • writeタグは、デフォルトではbrタグを使用できない。
    • 一方、自動エスケープされるので、安全性が高いメリットがある。
  • rawWriteタグはセキュリティリスクに注意する必要がある。
    • 外部から入力可能な値にrawWriteタグを使用するのはご法度。

前提:Nablarchのカスタムタグについて

コードサンプル

nablarch-example-webでテストする。実行方法はREADMEを参照。

    /**
     * ログイン画面を表示。
     *
     * @param request HTTPリクエスト
     * @param context 実行コンテキスト
     * @return HTTPレスポンス
     */
    public HttpResponse index(HttpRequest request, ExecutionContext context) {
        context.setRequestScopedVar("brtag", "こんにちは。<br>これは、<br />改行をテストします。これは改行しない(_br_)<br>");
        return new HttpResponse("/WEB-INF/view/login/index.jsp");
    }
    <body>
        <div class="mainContents">
            <n:include path="/WEB-INF/view/common/header.jsp" />

            <div class="title-nav">
                <span>ログイン</span>
            </div>
            <div class="font-group">
                <!-- name属性を指定してオブジェクトのpersonNameプロパティにアクセスする。 -->
                改行あり<n:rawWrite name="brtag" />
                改行なし<n:write name="brtag" />
            </div>
        </div>
    </ body>

どうなるのか

  • rawWriteタグは、<br /><br>いずれも利用できる。
  • writeタグは、タグがエスケープされる。

image.png

参考文献

JSPカスタムタグ

rawWriteタグ

writeタグ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?