0

以下は、Java Script に埋め込まれた jsp コードです。

//This object comes from Java code to Jsp Code.    
var msgs = [{name=rajasekhar, langId=en, bShow=true}, {name=sekhar, langId=de,bShow=false},{name=valli, langId=en, bShow=false}];


<script type="text/javascript">
var langSectState = new Array();

 <c:forEach var="msg" items="${msgs}">
    <c:set var="langId" value="${msg['langId']}"/>

    langSectState ["${langId}"] = ${msg['bShow']};  //JS

 </c:forEach>
</script>

MoreInfo: 上記コード msgs から langId, bShow を抽出し、値を Array に格納します。

サーバー構成の変更後、これがうまく機能しません。したがって、このコードを完全な Java Script に変更する必要があります。

誰でもJava Scriptでこれと同等のコードを提案できますか

4

1 に答える 1

1

この配列の値を本当に上書きする必要があるかどうかはわかりません (たとえば、langId="en" を持つ 2 つのオブジェクトがあるとします)。しかし、コードは次のようになります。

<script type="text/javascript">
var msgs = [{name:"rajasekhar", langId:"en", bShow:true}, {name:"sekhar", langId:"de",bShow:false},{name:"valli", langId:"en", bShow:false}];
var langSectState = new Array();

for(var it in msgs)
{
    var langId = msgs[it]['langId'];
    langSectState[langId] = msgs[it]['bShow'];
}

for(var it in langSectState)
{
    console.log(it+":"+langSectState[it]);
}

</script>

console.log ループはテスト目的でのみ追加されることに注意してください

于 2012-12-11T08:01:43.333 に答える