JSのスクリプトレット
-
12-10-2019 - |
質問
JSPページがあります...リクエストパラメーター(リクエストによって配列が返される)に応じて、ドロップダウンを作成する必要があることに応じて、いくつかのコンテンツを動的にページに追加しています。私は別のドロップダウンの変更でこれをしたいです。だからJavaScriptのみを使用することができますが、私はJSでScriptletを使用することができません、これは本当に可能ですか?
編集 :Scriptletから取得した値についてもいくつかのアクションを実行したい
この種のものになります
function changeMethod(){
var templateselected = document.getElementById("templateDropDown");
var versionDropDown = document.getElementById("versionDropDown");
if ( templateselected.options.selectedIndex != -1)
{
var selected=templateselected[templateselected.options.selectedIndex].value;
removeChildNodes(versionDropDown);
<%
RetrieveTempSecVersions[] lsListOfFiles = (RetrieveTempSecVersions []) request.getAttribute("templateNames") ;
for (int i=0 ; i < lsListOfFiles[1].getVersionNumber().length ; i++ ) {
System.out.println("helllooooo");%>
versionDropDown.innerHTML+='<OPTION VALUE="'+<%=lsListOfFiles[1].getVersionNumber()[i]%>+'">'+<%=lsListOfFiles[1].getVersionNumber()[i]%>+'</OPTION>';
<%}%>
}
}
解決
はい あなたはこのようなものを持つことができます
function addCombo() {
var textb = document.getElementById("txtCombo");
var combo = document.getElementById("combo");
var option = document.createElement("option");
<c:forEach var="state" items="${stateList}" varStatus="status">
option.text = "${state}";
option.value = "${state}";
try {
combo.add(option, null); //Standard
}catch(error) {
combo.add(option); // IE only
}
</c:forEach>
textb.value = "";
}
ノート: :私はこのコードをテストしていません、これは単なるデモンストレーションです
他のヒント
JavaScriptが同じJSPページでインラインまたは宣言されている場合、問題はありません。何かのようなもの:
<script type="text/javascript">
var foo = '${foo}'; // or <%= foo => if you like
</script>
別の.jsファイルにある場合は、特別なサーブレットを介して.jsファイルを提供する必要があります。
所属していません StackOverflow