如何将百万美元html中的多个参数传递给百里香方言处理器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将百万美元html中的多个参数传递给百里香方言处理器相关的知识,希望对你有一定的参考价值。

我正在创造一个定制的thymeleaf dilect。我需要知道如何将参数从thymleaf html片段传递到dielect处理器。我能够实现一个参数,但我需要知道我们将如何实现多个参数。下面是我的百里叶片段。

<th:block dialectPrefix:customDialect="${parameter}"> </th:block>

以下是我的处理器逻辑

protected void doProcess(final ITemplateContext context, final IProcessableElementTag tag,
final AttributeName attributeName, final String attributeValue,
final IElementTagStructureHandler structureHandler) {
  final IEngineConfiguration configuration = context.getConfiguration();
  final IStandardExpression categoryExpression = parser.parseExpression(context, someString);
  final IStandardExpressionParser parser = StandardExpressions.getExpressionParser(configuration);
  String fetchValue=categoryExpression.execute(context).toString()
   //I am able to get the value of parameter
}

如果我想从百万富翁html传递多个参数,如下所示

<th:block dialectPrefix:customDialect="${parameter1}" "${parameter2} etc">  </th:block>

我可以通过','将它与"${parameter1,parameter2}"分开,在html中它工作正常,但我需要拆分处理器[.java]级别。如果有任何其他方式,我们可以在html级别实现,这将有助于我。

遇到这种情况的任何人都可以解释一下。

答案

它可以这样做:

呼叫:

<th:block th:include="mailFragments::test('f1', 'f2', 'f3')"/>

分段:

 <th:block th:fragment="test(p1,p2,p3)">
    <element dialectPrefix:customDialect="|${p1},${p2},${p3}|">тест</element>
 </th:block>

和:

 new AbstractAttributeTagProcessor(TemplateMode.HTML, PREFIX, null, false, NAME, true, 1000, true) {
    @Override
    protected void doProcess(final ITemplateContext context, final ProcessableElementTag tag, final AttributeName name, String href, final IElementTagStructureHandler structureHandler) {
            final IEngineConfiguration configuration = context.getConfiguration();
            final IStandardExpressionParser parser = StandardExpressions.getExpressionParser(configuration);
            final IStandardExpression categoryExpression = parser.parseExpression(context, value);
            String delimitedResult = categoryExpression.execute(context).toString();
            String[] params = delimitedResult.split(",");
            .....
    }

PS:对于定制的百日咳标签,请参阅Say Hello! Extending Thymeleaf in 5 minutes

以上是关于如何将百万美元html中的多个参数传递给百里香方言处理器的主要内容,如果未能解决你的问题,请参考以下文章

谷歌表格:将百万/十亿的价值转换为数字

如何控制百里香中的href属性

如何将多个参数传递给 ASP.NET Core 中的 get 方法

如何将多个(非单元)参数传递给 Octave 的 parcellfun() 中的函数?

如何将多个参数传递给 ASP.NET CORE MVC 中的 HttpGet 方法?

如何使用 TypeScript 将多个参数传递给 Angular 中的 @Directives (@Components)?