Использование Vue. js в JSP, теги / директивы конфликтуют - PullRequest
0 голосов
/ 05 марта 2020

Я пытаюсь использовать Vue. js в проекте Java, где шаблоны отображаются с использованием JSP. Я смог загрузить библиотеку Vue на страницу и использовать ее тоже.

Это работает:

<!-- code snippet from jsp -->
<select id="foobar"
    v-on:change="doSomething($event)"
    class="form-control form-control-lg">
        <option value="" selected>Do your choice...</option>
        <option value="foo">foo</option>
        <option value="bar">bar</option>
</select>

Но, используя директивы vue вместе с: например, Spring-Form JSP теги:

<form:select
     path="something"
     v-on:change="blabla($event)"> <!-- also tried `@change` but still no success -->
     <form:options items="${yadayada}" itemValue="id" itemLabel="name" />
</form:select>

Я получаю эту ошибку:

Префикс атрибута [v-on] не соответствует ни одной импортированной библиотеке тегов

Я думаю, что движок JSP считает, что v-on должен быть чем-то из внешней библиотеки Java / JSP, но это не совсем так. Есть ли какое-либо решение или обходной путь для использования v-on, v-bind et c в такой ситуации?

1 Ответ

1 голос
/ 05 марта 2020

Он думает, что TLD для тега не допускает динамические c атрибуты.

Даже если бы он это сделал, он (не обязательно) не знал бы, куда поместить их в тег HTML рендеринг: в то время как <form:select> (вероятно) просто рендерит тег HTML <select>, нет гарантии , что тег JSP будет слепо отображать динамические атрибуты c там, где вы их хотели.

Вы можете расширить тег Spring (например, { ссылка }), но это не обязательно простой подход, поскольку вы делаете больше, чем просто придерживаетесь дополнительные HTML - вы вставляете HTML.

Вы можете написать свой собственный тег, который выполняет тот же рендеринг, но без осторожности вы, вероятно, пропустите некоторые функциональность, которая может укусить вас позже.

Или вы можете просто написать HTML в соответствии с отображением тега Spring - для простых случаев использования это самый прямой путь.

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