[英]Using Vue.js in JSP, tags/directives conflict
我正在嘗試在使用 JSP 呈現模板的 Java 項目中使用 Vue.js。 我已經能夠將 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
等?
它認為標簽的 TLD 不允許動態屬性。
即使這樣做了,它也不會(必然)知道將它們放在標記呈現的 HTML 中的哪個位置:雖然<form:select>
(可能)只是呈現一個 HTML <select>
標記,但不能保證JSP 標記會盲目地在你想要的地方渲染動態屬性。
您可以擴展Spring 標簽(例如, https : //stackoverflow.com/a/9891714/438992 )但這不一定是一種直接的方法,因為您所做的不僅僅是添加額外的 HTML--您重新插入HTML。
您可以編寫自己的自定義標記來執行相同的渲染,但如果不小心,您可能會錯過一些可能會在以后困擾您的功能。
或者您可以只編寫 HTML 以匹配 Spring 標記呈現的內容——對於簡單的用例,這是最直接的路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.