『壹』 怎麼在js中取java變數的值,朋友們幫忙說說
function test(){
var g = "${first_Name}";
alert(g);
}
"<%=first_Name%>"; 這種方式只能取道jsp頁面上定義的變數
比如
a.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<%! String a = "aaaaa";%>
<BODY BGCOLOR=cyan>
<FONT Size=1>
<P>這是一個簡單的JSP頁面
<BR>
</FONT>
<%=a %>
${a };
</BODY>
<HTML>
在跳轉到該jsp頁面的servlet中在request中設置了一個a
效果如下:
這是一個簡單的JSP頁面
aaaaa serveta;
原因很簡單:
對於每個jsp,伺服器(比如tomcat)都會將其轉換成java文件(後綴.java的文件),然後將其編譯成class文件
"<%=%>"就是從這個java文件中去取變數值
而"${}"則是從容器中的四個區域去取值(page,request,session,application)
『貳』 在html頁面的js中怎麼獲取Java中返回的map集合
jsp 頁面中進入jstl 標簽
<%@ taglib prefix="友蘆c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:forEach items="${map}" var="item">喊余
${item.key.name}-${item.value}<br/>
</c:forEach>
直接foreach 迭好滲帶代。
『叄』 在js文件中怎麼獲得java方法返回的值
<script type="text/javascript">
// 這里放置數組
var array = new Array();
<% String[] params = (String[])request.getSession().getAttribute("您的存入key");
for(int i = 0; i < params.length; i++){%>
array.push(<%=params[i]%>);
<%}%>
</script>
『肆』 js怎麼調用JAVA方法
用ajax的方法.
首先將要調用的類名和方法名作為參數傳給某個servlet.這一步的方法有許多種,用框架,或者直接用xmlHttpRequest對象.
另外,要調用的類名和類的完整包路徑最好寫在配置文件里
這里假設類名為Hello,方法名為sayHello,並且sayHello方法不帶參數,類路徑為com.demo.Hello
配置文件AjaxConfig.properties
Hello = com.demo.Hello
於是傳入的參數為 class=Hello&method=sayHello
在servlet中作如下處理:
String className=request.getParameter("classname");
String methodName=request.getParameter("method");
String classPath=null;
.
讀取配置文件,取出className所對應的值放入classPath變數中(這一步方法有很多種,怎麼讀配置文件,可以網上找資料,很多的,我就不細寫了)
.
Class c=Class.forName(classPath);//載入你所指定的類
Class param[]=new Class[0];//方法的參數為0個
Method m=null;
String returnValue=null;//返回值
try {
m = c.getMethod("sayHello",param);//獲取你所指定的類中的指定方法
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
returnValue=(String)m.invoke(c.newInstance(), new Object[0]);//調用你所指定的方法
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
最後,將returnValue的值返回給客戶端即可
類Hello.java
public class Hello
{
public String sayHello()
{
return "hello";
}
}
不明白的加67919823,我們一起討論呀
『伍』 js如何獲取jsp頁面中嵌入的java代碼中的變數
js與java是不同語言,運行在不同環境下,因此無法直接獲得對方數據。
java運行在伺服器端,在同一個jsp文件中,java先運行,js後運行,java可以生成一段js代碼,保證js運行得到相應的結果,因此可以用java定義js變數的方式來傳遞數據,例如:
<script>
varurl="<%=url%>";
alert(username);
</script>
上面例子,<%%>中的內容會在伺服器端運行,在「」中間輸出網址,瀏覽器就會載入下面的結果:
<script>
varurl="gif8.cn";
alert(url);
</script>
這部分就是標準的js代碼了。