十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
JavaScript的对象怎么在java后台调用
10年积累的网站设计、做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站制作后付款的网站建设流程,更有石棉免费网站建设让你可以放心的选择与我们合作。
// java调用js脚本的例子
ScriptEngineManager scriptEngineMgr = new ScriptEngineManager();
ScriptEngine jsEngine = scriptEngineMgr.getEngineByName("JavaScript");
StringBuffer sb = new StringBuffer();
// 组装js代码,也可以从文件读入脚本到sb变量
jsEngine.put("myContext", myContext);// 放置其他参数
jsEngine.eval(sb.toString());// 解析、执行脚本
一、为Test写一个方法,不妨为dataToString(),把字符串数组变成一个字符串,格式为“
["A","B","C"]
但要注意字符中A中可能会含有双引号,所以需要替换"为"
二、在前台JSP页面中输出一段这样的语句:
script
var str = "%=Test.toDataString()%";
var arr = (str);
window.onload = function(){
for(var i=0;iarr.length;i++){
//to do something
}
}
/script
另一种方法就是在window.onload中用AJAX去取。利用AJAX必须写servlet。因为前面一种方法的jsp和servlet是等同的。
js方法中调用java的参数
input type="image"
src="../../images/icons/setParmeter.jpg" onclick="Block(%=flag%)" /
input type="text" id="isparemeter" value="%=flag%"/
一般的浏览器中是无法通过js调用本地java程序的,但是可以调用嵌入到网页的applet的方法。交互方式如下:
applet codebase = "." width = "400" height = "400"
name= "MyApplet" code = "test.applets.MyApplet1.class"
script
// js访问applet属性:document.appletName.appletField (属性必须是public的)
// js访问Applet方法:document.appletName.appletMethod (方法必须是public的)
function showLable{
// 调用test.applets.MyApplet1类的invokeByJS方法
document.applets["MyApplet"].invokeByJS('myvalue');
}
/script
java后台使用什么写的呢?
如果是servlet,你可以在sevlet中使用x.setAttribute(key,value);来存放一个值,其中的x是作用与对象,可以是page、request、session、application等作用域对象。
然后再前台可以使用%=x.getAttribute(key)来获取,并赋值给你的var a就可以了。
或者,你还可以使用jstl来获取,比如你存到request中了,就可以使用${requestScope.key}来获取。
如果后台使用的struts,直接用ognl来取得就可以了。
如果你是在JSP页面里,在js代码里可以用% ...java代码....%
不过不建议混编,最好JS和JAVA代码分开,JS可以通过AJAX调用访问JAVA提供的接口,利于后期维护。
题主的问题回答:
方法1.提供一个servlet ,在servlet中调用getAllEmployees()
方法,把响应的值写入response,修改响应头为application/json,在页面使用ajax访问servlet,最后处理响应值
方法2..提供一个servlet ,在servlet中调用getAllEmployees()
方法,把响应的值存入request作用域,在JSP页面中使用EL表达式获取值
\r\n\r\n//上面我用java代码根据id取得了一个user类的实体 u 下面就可以用js操作显示等等\r\nalert();//在窗口打印一个用户名\r\n\r\n