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;