1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xiandafu-beetl

 / Детали:

Использование include в CompositeResourceLoader не позволяет корректно定位資源? Использование include в CompositeResourceLoader не...

Предстоит сделать
Владелец
Создано  
03.03.2025

позволяет корректно расположить ресурсы?

Как была вызвана эта проблема?

public static String getRelPath(String siblings, String resourceId) {
    String relResourceId = null;
    if (resourceId != null && resourceId.length() != 0) {
        char cs = resourceId.charAt(0);
        if (cs != '\\' && cs != '/') {
            int i = siblings.length() - 1;

            boolean find;
            for (find = false; i > 0; --i) {
                char c = siblings.charAt(i);
                if (c == '\\' || c == '/') {
                    find = true;
                    break;
                }
            }

            if (find) {
                String parent = siblings.substring(0, i + 1);
                 **relResourceId = parent.concat(resourceId);**
            } else {
                relResourceId = resourceId;
            }
        } else {
            relResourceId = resourceId;
        }

        if (isOutsideOfRoot(relResourceId)) {
            throw new RuntimeException("Недопустимый доступ к внешним файлам или шаблонам");
        } else {
            return relResourceId;
        }
    } else {
        throw new RuntimeException("Идентификатор ресурса пустой, неверные входные данные");
    }
}

Шаги воспроизведения проблемы

relResourceId = parent.concat(resourceId);
Не удаляет разделители перед соединением.
Например: include("http://xxx.html"){}, разделитель "http:" также должен быть удален.

Ошибочное сообщение

Есть ли более подходящий способ записи include?

Комментарий (0)

GitLife Service Account Задача создана

Вход Перед тем как оставить комментарий

Статус
Ответственный
Контрольная точка
Pull Requests
Связанные запросы на слияние могут быть закрыты после их объединения
Ветки
Дата начала   -   Крайний срок
-
Закрепить/Открепить
Приоритет
Участники(1)
1
https://api.gitlife.ru/oschina-mirror/xiandafu-beetl.git
git@api.gitlife.ru:oschina-mirror/xiandafu-beetl.git
oschina-mirror
xiandafu-beetl
xiandafu-beetl