为了账号安全,请及时绑定邮箱和手机立即绑定

如何将多个参数从 thymeleaf html 传递给 thymeleaf 方言处理器

如何将多个参数从 thymeleaf html 传递给 thymeleaf 方言处理器

汪汪一只猫 2021-06-29 17:41:10
我正在创建一个自定义的百里香方言。我需要知道如何将参数从 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}如果我想从 thymeleaf html 传递多个参数,如下所示<th:block dialectPrefix:customDialect="${parameter1}" "${parameter2} etc">  </th:block>我可以','像"${parameter1,parameter2}"在 html 中那样将它分开,它工作正常,但我需要在我的处理器 [.java] 级别拆分。如果有任何其他方式我们可以在 html 级别实现它,这对我有帮助。任何遇到过这种情况的人都可以有所启发。
查看完整描述

1 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

可以这样做:


称呼:


<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(",");

            .....

    }


查看完整回答
反对 回复 2021-07-07
  • 1 回答
  • 0 关注
  • 288 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信