从型号访问脚本模板数据玉兰的Java

问题描述 投票:0回答:1

我需要通过玉兰脚本模板来访问数据被输入,从玉兰Java模型。

我曾尝试使用参数设置和定义。我一直在使用的定义和内容节点的不同特性尝试。

public FormModel(Node content, ConfiguredTemplateDefinition definition, RenderingModel<?> parent) {
    super(content, definition, parent);
}

public String execute() {

    HttpServletRequest request = MgnlContext.getWebContext().getRequest();
    if ("POST".equals(request.getMethod())) {
        try {
            //Access the name input from the template script
        }
        catch(Exception e) {
            System.out.print(e);
        }
    }

    return super.execute();
}

}

<form method="post">
    <div>
        <label>Name:</label>
        <input type="text" name="name"/>
    </div>
</form>

我希望能够访问在Java代码中输入的值。

java templates magnolia
1个回答
1
投票

你需要在你的模板定义指定modelClass属性,FormModel应该扩展info.magnolia.rendering.model.RenderingModelImpl<>。您没有指定,如果你没有任何这些,所以这是很难猜测可能是错在那里。

如果您使用YAML的定义应该是这样的:

renderType: freemarker
templateScript: /my-module/templates/components/home.ftl
modelClass: my.awesome.FormModel
© www.soinside.com 2019 - 2024. All rights reserved.