JS调用Java代码
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" onchange="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;