Проблема с заменой JSTL в переменной, но не в буквальном - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь работать с переменной JSTL, которую мне нужно изменить. Вот пример моего кода, который демонстрирует проблему:

<script type="text/javascript">

    console.log("${pathClienteId}");
    console.log("${fn:replace(pathClienteId, '[', '_')}");
    console.log("${fn:replace('forms[0].cliente.id', '[', '_')}");

</script>

Это печатает следующий результат:

forms[0].cliente.id
forms[0].cliente.id
forms_0].cliente.id

, что означает, что по какой-то причине, если я попытаюсь заменить, используя мой Переменная JSTL, моя квадратная скобка не распознается, но если я набираю ту же самую строку вручную, она отлично работает. Вот как создается моя переменная pathClienteId:

<c:forEach var="expedienteMini" items="${expedienteForm.forms}" varStatus="status">

    ...

    <c:set scope="request" var="modelExpediente" value="forms[${status.index}].model"/>

    ...

    <c:set var="pathClienteId" value="${fn:replace(modelExpediente, 'model', 'cliente.id')}" />

    ...

    /* Here goes my code */

    ...

</c:forEach>

Редактировать: Кстати, если я попытаюсь заменить '.' вместо '[', по какой-то причине, он работает отлично.

Это абсолютно бессмысленно, и я уже потратил столько времени на это. Кто-нибудь знает, почему это может происходить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...