簡體   English   中英

里面的html標記<script>

[英]Struts html tag inside <script>

我知道這是一個非常愚蠢的問題,但是我需要幫助。 嘗試了幾個主題,但都無濟於事。

因此,我試圖將在Struts2(java)中創建的列表傳遞到javascript中以使用高光繪制圖表。 我已經閱讀了幾篇文章,並提出了以下建議:

$(function drawList() {
var list = [
<c:forEach items="${listFromJava}" var="alistFromJava">
{itemName: "${alistFromJava.attribute}"},
</c:forEach>
];

但是,它永遠不起作用,並且總是以以下形式結尾:靜態屬性必須是String文字,指定表達式是非法的。

如果我嘗試:

list = '<s:property value="listFromJava"/>

然后它僅返回引用。

任何建議表示贊賞。 提前致謝。

為了避免在使用Google搜索時造成混亂,請執行以下操作:

<c:forEachJSTL

${listFromJava}EL

<s:propertySTRUTS2 UI標記

listFromJava (或%{listFromJava} “)為OGNL

替換JSTL的forEach的Struts2標記<s:iterator>

您的函數可以在純Struts2中重寫,如下所示:

$(function drawList() {
    var list = [
        <s:iterator value="listFromJava" >
            {itemName: '<s:property escapeJavascript="true" value="attribute"/>'},
        </s:iterator>
    ];
});

為防止最后一個元素出現逗號,請使用<s:if>

$(function drawList() {
    var list = [
        <s:iterator value="listFromJava" status="stat">
            <s:if test="#stat.index>0">,</s:if>
            {itemName: '<s:property escapeJavascript="true" value="attribute"/>'}
        </s:iterator>
    ];
});

編輯 :添加了防止javascript注入問題所需的轉義( escapeJavascript="true" )。

struts2

[英]struts2 <s:url in html script tag not working

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM