我有一个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>';
<%}%>
}
}发布于 2010-12-22 12:53:48
是的,,你可以有这样的东西
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 = "";
} 注意事项:我还没有测试过这段代码,这只是一个演示
发布于 2010-12-22 12:52:44
如果javascript是内联的或在同一个jsp页面中声明的,那么就没有问题。类似于:
<script type="text/javascript">
var foo = '${foo}'; // or <%= foo => if you like
</script>如果它位于一个单独的.js文件中,那么您应该通过一个特殊的servlet为.js文件提供服务。
https://stackoverflow.com/questions/4509312
复制相似问题