Javascript 访问JS文件中的Java类属性
我是javascript的新手。我正在尝试访问javascript文件中.java类中存在的java属性。例如:Javascript 访问JS文件中的Java类属性,javascript,java,jquery,Javascript,Java,Jquery,我是javascript的新手。我正在尝试访问javascript文件中.java类中存在的java属性。例如: /******************************JAVA **************************/ public class SampleProgram { public String input = "Hello" } /***************************************JS****************
/******************************JAVA **************************/
public class SampleProgram {
public String input = "Hello"
}
/***************************************JS************************/
<script>
window.setObject("inputValue", new SampleProgram().input);
console.loh(window.getObject("inputValue"));
setObject(“inputValue”,new SampleProgram().input);
console.loh(window.getObject(“inputValue”);
PS:我知道这是可以通过JSP实现的。不过,我想找到一种替代方法
任何帮助都将不胜感激
谢谢 你不能用这种方式混合语言。将浏览器逻辑与服务器逻辑分开,并通过HTTP请求交换数据。无法直接向JavaScript公开java类的方法或属性 Java服务器页面确实允许您在服务器端模板化上下文中访问javabean属性,但提供JavaScript访问需要一些难看的技巧,将jsp标记与JavaScript混合在一起:
<script type="text/javascript">
var variableFromServer = '{someBean.someProperty}';
</script>
var variableFromServer='{someBean.someProperty}';
如果不使用jsp,则需要使用其他技术(如JAX-RS)公开java代码,JAX-RS用于构建基于http的api。确实是一个好问题。通常,您会在HTML模板中设置一个变量,例如
var property=${foo}
或
(针对模板语言进行修改).Java和JS根本不相关。当JS被引入时,名称上的相似性只是一个营销噱头/策略。问题是:JS在浏览器中运行(在客户端计算机上),Java不运行。因此,一种方法是用Java生成一些JS并将其注入到输出中。另一种方法是使用ajax调用运行Java的服务器并返回您请求的值。这些是你的选择。无法将这两种语言混合在一起。为了在上面Robert的答案的基础上进一步发展,我已经大量使用JSF并嵌入JS标记,使用var varname='#{someBean.someProperty}将Java bean属性调用到JS var参数中。我们也尝试过JSON类型的数据