当我们使用Scaffolding创建页面时,它只占用页面名称最多20个字符,是否有其他方法可以覆盖该验证?提前谢谢....
答案 0 :(得分:2)
在第242行的默认脚手架(/libs/wcm/scaffolding/components/scaffolding/body.jsp)中,您会看到以下代码:
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 param。
另外一件事,我确实读过这个 - “当:nameHint被过滤时,它将名称剪切为可配置最大长度(默认为20个字符)”。我找不到如何配置。
答案 1 :(得分:-1)
配置CQ POST servlet ..你应该很好