1、JS调用Java代码:
格式 <% Java Code %> <script language="JavaScript"> function window_onload(){ //输出传过来的参数parent.HiddFrame.location.href = "<c:url value="/gyzfgl/zggmgyzfgl.do?method=sqbm_chgsq&d003="/>" +d003+"&d002="+d002+"&forwardName=d003onchange"; <%= request.getParameter("param1") %> <% //取得request.setAttribute("gmgyzfsqList", gmgyzfsqList);这种方式传过来的值 List list = (List)request.getAttribute("gmgyzfsqbhList"); if(list != null) { out.println("zggmgyzfglForm.d001.focus()"); //调用JS方法clear() out.println("clear(parent.TopFrame.zggmgyzfglForm.d001)"); for(int t=0;t<list.size();t++){ Row qc = (Row)list.get(t); out.println("parent.TopFrame.addSelect(parent.TopFrame.zggmgyzfglForm.d001,\"" + qc.getTrimString("d001") + "\",\"" + qc.getTrimString("d001") + "\")"); } } %> zggmgyzfglForm.action = "<c:url value="/gyzfgl/zggmgyzfgl.do?method=del&pzid="/>"+pzid+"&d001"+d001 ; zggmgyzfglForm.submit(); } //清空下拉列表中的数据 function clear(select) { var len = select.options.length; for(i=0; i<len; i++) { select.options.remove(0); } } //向下拉列表中赋值 function addSelect(select,mc,bm) { select.options.add(new Option(mc,bm)); } </script> <body> <td align="right">申请编号</td><td><html:select property="d001" style="ime-mode:disabled;width:120" οnchange="javascript:sqbm_onchange(this);"> </html:select></td> </body> 2、Java调用JS代码: 例子1: <% if (Math.random() < 0.5) { %> Have a <B>nice</B> day! <% } else { %> Have a <B>lousy</B> day! 例子2: if (Math.random() < 0.5) { out.println("Have a <B>nice</B> day!"); } else { out.println("Have a <B>lousy</B> day!"); } <% } %> 例子3: function showAlert(){ <% UserTest test=new UserTest(); String str=test.showStr();//此方法返回一个字符串 request.setAttribute("result",str);//将返回结果存入request中 %> alert("${requestScope.result}"); } </script> 例子4: <% out.print("<javascript> var a = "+request.getParameter("paraml")+";</javascript>"); %> 这样其实就是在js中申明一个变量,值等于java代码中的一个值 3、JS调用JSP变量: 在js调用jsp变量时,在最外面加单引号 var js变量 = '<%= jsp变量 %>'; Java代码 <% String str="123"; %> 在JavaScript中有 Js代码 function getStr() { var str_tmp = '<%= str %>' ; alert(str_tmp); } 如果不加单引号('')会提示找不着str;