0

Scaffolding を使用してページを作成する場合、ページ名は最大 20 文字しか使用できません。その検証をオーバーライドする他の方法はありますか? 前もって感謝します....

4

2 に答える 2

2

デフォルトのスキャフォールディング (/libs/wcm/scaffolding/components/scaffolding/body.jsp) の 242 行目に、次のコードがあります。

var title = frm.findField("./jcr:content/jcr:title");
if (title) {
    var hint = title.getValue();
    if (hint) {
        params[":nameHint"] = hint;
    }
}    

このコードから取り除かなければならない主なものは、params[":nameHint"] です。このパラメーターは、ページを作成するときに送信されます。nameHint パラメーターは、ノード名を x 文字数に制限する原因です。nameHint が送信されると、JCR の名前をフォーマットするフィルターを通過します。これは、有効な JCR 名を保証するために行われます。それはあなたの保護のためです。詳細については、このページの「ノード名作成のアルゴリズム」セクションを参照してください: http://sling.apache.org/site/manipulating-content-the-slingpostservlet-servletspost.html

この問題を上書きするには、params[":nameHint"] を params[":name"] に変更する必要があります。ただし、これによって有効な JCR 名が保証されるわけではないことに注意してください。これが懸念される場合は、タイトルを有効な JCR 名に変更するコードをいつでも修正してから、:name パラメータに設定できます。

もう1つ、私はこれを読みました-「:nameHintがフィルタリングされると、名前が構成可能な最大長にカットされます(デフォルトは20文字です)」。ただし、これがどのように構成されているかわかりません。

于 2013-03-26T16:05:12.240 に答える
-1

CQ POST サーブレットを構成します..そして、あなたは良いはずです

于 2014-02-13T11:42:00.147 に答える