JSP对象中的Javascript变量 $('area')。在('mouseover',function()上{ var territory=$(this.attr('name'); var territoryString=新字符串(区域); var所有者=; $('#selection').html(地域); }); });

JSP对象中的Javascript变量 $('area')。在('mouseover',function()上{ var territory=$(this.attr('name'); var territoryString=新字符串(区域); var所有者=; $('#selection').html(地域); }); });,javascript,jsp,Javascript,Jsp,我试图从游戏对象中获取数据,我将其存储为JSP对象。我试图获取的区域作为区域列表位于游戏对象中。是否有方法将javascript变量作为参数传入?或者我需要用领土列表创建一个JSP对象吗?您不能直接创建。 您有两个选择: 您可以在第一次加载页面时加载客户端stript中的所有territory名称,然后使用以下客户端对象向territory请求特定territoryString: $('area').on('mouseover', function() { var territory =

我试图从游戏对象中获取数据,我将其存储为JSP对象。我试图获取的区域作为区域列表位于游戏对象中。是否有方法将javascript变量作为参数传入?或者我需要用领土列表创建一个JSP对象吗?

您不能直接创建。 您有两个选择: 您可以在第一次加载页面时加载客户端stript中的所有territory名称,然后使用以下客户端对象向territory请求特定territoryString:

$('area').on('mouseover', function() {
    var territory = $(this).attr('name');
    var territoryString = new String(territory);
    var owner = <%game.getTerritory(territoryString).getOwner().getName(); %>;

    $('#selection').html(territory);
});
});
var区域=
$('area')。在('mouseover',function()上{
.....
var owner=区域[territoryString]。名称;
....
这种方法的问题是,如果服务器数据发生更改,客户端对象将无法实现

另一种方法是在click函数中使用ajax调用,然后将结果加载到JavaScript变量中


如果你真的想要实时的东西,有一些商业框架可以在服务器和客户端变量之间进行自动同步,例如:“pusher”

不,不存在这样的情况,因为jsp在服务器端处理,javascript在客户端处理。这里解决方案的可能副本是使用ajax请求,它可以将所选的
区域
发送到服务器,服务器可以返回
所有者的值
var Territories = <% Print a json string map with the territories info with the server side code %>

$('area').on('mouseover', function() {
     .....
     var owner = Territories[territoryString].name;
      ....