Javascript 访问JS文件中的Java类属性

Javascript 访问JS文件中的Java类属性,javascript,java,jquery,Javascript,Java,Jquery,我是javascript的新手。我正在尝试访问javascript文件中.java类中存在的java属性。例如: /******************************JAVA **************************/ public class SampleProgram { public String input = "Hello" } /***************************************JS****************

我是javascript的新手。我正在尝试访问javascript文件中.java类中存在的java属性。例如:

/******************************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类型的数据