jap里的java文件代码_java中调用javascript方法(JPA)

通常来说,java的功能很强大,足以解决大部分的问题,但是在涉及到json对象的解析和封装,个人觉得java功能还不如javascript。

由于javascript是一个弱语言,因此在javascript中可以很方便的解析、封装复杂的json数据,java在这个问题的解决上还真不如javascript好用。

但是有时候我们又不得不在java中解析和处理json格式的数据,怎么办呢?

目前来说有两种方法,一是通过导入json的jar包,直接在java代码中对json数据进行处理,另一种方法就是在java代码中直接调用js文件中的javascript函数。

第一种方法我在其他的文章中已经做了描述,下面主要讲一下如何通过调用js文件中的javascrip函数来达到处理json数据的目的。

首先,你需要有一个存放你要调用的javascript函数的js文件,将js函数写入此文件,并将此文件放入项目中。

例如我有一个名为a.js的文件,这个文件在项目中的路径为 webContent/components/a.js , 文件中有一个函数:

var getValue = function(temp){

return "传入的值为:"+temp;

};

注意,java程序调用的js函数中不得有alert()语句。

其次,在项目中的任意java文件中复制以下代码:

public static ServletContext getServletContext() {

return (ServletContext) FacesContext.getCurrentInstance()

.getExternalContext().getContext();

}

public void testOnJs(){

ScriptEngineManager manager = new ScriptEngineManager();

ScriptEngine engine = manager.getEngineByName("javascript");

File file = new File(getServletContext.getRealPath("/components")+ "/a.js");

// 读取js文件

try {

FileReader reader = new FileReader(file);

// 执行指定脚本

engine.eval(reader);

if (engine instanceof Invocable) {

Invocable invoke = (Invocable) engine;

String sqlValue = (String) invoke.invokeFunction("getValue","测试");

System.out.println(sqlValue);

}

reader.close();

} catch (Exception e) {

System.out.println(e.getMessage());

e.printStackTrace();

}

}

执行这段java代码,就会在控制台上打印出  "测试" 俩字,说明成功读取js文件并调用javascript方法!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一直以来把数据库的表转换成Entity或DTO都是一件让人头痛的事情,既浪费时间又很繁琐,看着几十上百个表的几百上千个字段,真是一件让人很头痛的事情。 我们也想过很多办法解决这个问题,包括用MyEclipse连接数据库生成JavaBean,但多多少少还是会有一些不尽人意的地方,包括表和表字段的comment总是无法生成,而且还会生成很多无用的注释代码,让代码看起来一点都不干净,配置非常繁琐等等问题。 于是一怒之下,自己动手丰衣足食,就自己用Swing写了一个通过数据库的表生成JavaBean的工具,支持MySQL、Oracle、SQLServce,完美支持JPA注解,可以同时生成Entity和DTO,可以自动去除表前缀,并支持去除多个前缀,支持精确指定只生成哪几个表的Bean,也支持模糊查找生成哪几个表的Bean,现在不但成员变量上能生成备注了,而且在Getter和Setter上也能有备注了! 更重要的是所有的配置都能被保存到本地,只要配置过一次,下次使用只要点一下生成JavaBean,下一秒就能拿到你想要的JavaBean了,完全实现秒生成。并且集成各种实用工具,使得工作效率瞬间爆棚,生产力瞬间爆表。 这次版本更新如下: 1、新增测试数据库连接。 2、标准模板新增C#标准模板。 3、字段转换设置新增需要在某类型上添加的注解配置。 4、新增实体生成策略,可以根据项目的需求为实体配置不同的生成策略。 5、新增实体主键生成策略,可以配置手动生成主键也可以配置自动生成主键。 6、可以根据选择的标准模板不同自动生成相应扩展名的文件,也可以手动设置文件扩展名。 7、新增设置文件注释,并可以使用部分系统参数。 8、新增设置类注释,并可以使用部分系统参数。 9、集成工具新增String字符串拼接工具,实现秒拼StringBuffer,再也不怕拼长长的SQL了。 10、集成工具新增XML字符串拼接工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值