**<%@ 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标签。是否有任何解决方案。
答案 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标记。