Java js中的Scriptlet
我有一个jsp页面。。。我根据请求参数动态地向页面添加一些内容(请求将返回一个数组),基于此,我必须创建一个下拉列表。我想在更改另一个下拉列表时执行此操作。。所以只能使用javascript,但我无法在js中使用scriptlet,这真的可能吗 编辑:我还想对从scriptlet检索到的值执行一些操作 是这样的Java js中的Scriptlet,java,javascript,jsp,jstl,scriptlet,Java,Javascript,Jsp,Jstl,Scriptlet,我有一个jsp页面。。。我根据请求参数动态地向页面添加一些内容(请求将返回一个数组),基于此,我必须创建一个下拉列表。我想在更改另一个下拉列表时执行此操作。。所以只能使用javascript,但我无法在js中使用scriptlet,这真的可能吗 编辑:我还想对从scriptlet检索到的值执行一些操作 是这样的 function changeMethod(){ var templateselected = document.getElementById("templateDropDown
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>';
<%}%>
}
}
函数更改方法(){
var templateselected=document.getElementById(“templateDropDown”);
var versionDropDown=document.getElementById(“versionDropDown”);
如果(templateselected.options.selectedIndex!=-1)
{
var selected=templateselected[templateselected.options.selectedIndex].value;
移除ChildNodes(versionDropDown);
versionDropDown.innerHTML++=''++'';
}
}
如果javascript是内联的或在同一jsp页面中声明的,则没有问题。比如:
<script type="text/javascript">
var foo = '${foo}'; // or <%= foo => if you like
</script>
var foo='${foo}';//或者如果你喜欢的话
如果它在一个单独的.js文件中,那么您应该通过一个特殊的servlet来提供.js文件 是的你可以吃这样的东西
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 = "";
}
函数addCombo(){
var textb=document.getElementById(“txtCombo”);
var combo=document.getElementById(“combo”);
var option=document.createElement(“选项”);
option.text=“${state}”;
option.value=“${state}”;
试一试{
combo.add(选项,null);//标准
}捕获(错误){
combo.add(选项);//仅限IE
}
textb.value=“”;
}
注意:我还没有测试这段代码,这只是一个演示@varun-这些“操作”是什么。是什么阻止了您执行这些操作?@Bozho-我尝试了注释部分,但它不起作用。请参阅life.java上提供的代码-首先是非常好的nic名称。。其次,我们是否需要一次又一次地创建选项元素??jstl中是否也有if语句?首先,谢谢,其次,这只是一个演示,您必须根据需要修改它,是的,我们在jstl检查中有if语句