在javascript中实例化一个对象

时间:2011-06-17 05:18:43

标签: java javascript jquery

**<%@ page import="com.ampliflex.commons.Ampliflex" %>**
<html>
<head>
<title>Search Result  </title>

<style>
img{ height: 150px; float: left; border: 3;}
div{font-size:10pt; margin-right:150px;
margin-left:150px; }
</style>
 <script type="text/javascript" src="jquery-1.6.1.js"></script>
 <script type="text/javascript">
$(document).ready(function(){
  **Ampliflex ms = Ampliflex.getInstance();
  String mailHost = ms.getMailServer();**
// This function get the search results from Solr server 
    $("#submit").click(function(){
        var query=getquerystring() ; //get the query string entered by user

在这里,我导入了一个java类并实例化其对象。但是对象不可见,脚本生成错误“丢失;在声明之前  Ampliflex ms = Ampliflex.getInstance(); “......我不明白为什么会这样。

修改

问题是我需要在javascript中访问此mailHost。如果我使用in&lt;%..%&gt;实例化对象mailHost是局部变量,无法访问javascript标签。是否有任何解决方案。

2 个答案:

答案 0 :(得分:2)

您正在尝试实例化java对象,但没有scriptlet

它应该是像

这样的东西
<%

  Ampliflex ms = Ampliflex.getInstance();
  String mailHost = ms.getMailServer();
%>

(文档)$。就绪(函数(){   //邮件主机    var mailHost ='&lt;%= mailHost%&gt;';

//此函数从Solr服务器获取搜索结果     $( “#提交”)。点击(函数(){         var query = getquerystring();

并且,如果要在加载页面后调用方法,请尝试使用ajax。

答案 1 :(得分:1)

问题在于这一行:

Ampliflex ms = Ampliflex.getInstance();

  String mailHost = ms.getMailServer();

这实际上是Java代码。这不能在客户端执行。使用scriptlet标记。