JSP,Java Beans,如何记住位置

时间:2013-04-19 13:19:54

标签: javascript jquery html jsp javabeans

对于“Web工程”中的作业,我们必须使用JSP,Servlet和Java Bean编写Web应用程序游戏。游戏的算法,使用控件的Servlet,模型/视图的JSP和数据的Bean工作。我现在遇到的问题是可视化,JQuery / Javascript函数。

基本上我有一个包含7个字段的列表,可以将汽车附加到这些字段中。 (汽车是跨度)这是一个切割游戏,每一轮你骰子并向前移动。

我遇到了以下问题,我发现很难解决:

当然在游戏开始时,汽车(跨度)会附加到起跑场,但我不知道如果它向前移动,如何保存汽车的位置。 每次在开始时刷新JSP时,汽车都将处于起始区域。我尝试过的是在java bean中保存汽车的旧位置,并在页面加载时在Jquery中追加到右边的字段,但不知怎的,这不起作用。 我想出的唯一的事情就是在javabeans中保存playfield的整个代码,但我认为这不是最佳解决方案,也许有人有更好的想法,或者知道为什么appendTo不起作用?

下面是代码: HTML

                    <div class="field">
                        <h2 class="accessibility">Playfield</h2>
                        <ol id="road">
                            <li id="start_road">
                                <span class="accessibility">Startingfield</span>
                                <span id="player1">
                                    <span class="accessibility"><em>Player 1</em></span>
                                </span>
                                <span id="player2">
                                    <span class="accessibility"><em>Player 2</em></span>
                                </span>
                            </li>
                            <li class="empty_road" id="road_1">
                                <span class="accessibility">Field 2</span>
                            </li>
                            <li class="oil_road" id="road_2">
                                <span class="accessibility">Field 2</span>
                            </li>
                            <li class="empty_road" id="road_3">
                                <span class="accessibility">Field 2</span>
                            </li>
                            <li class="empty_road" id="road_4">
                                <span class="accessibility">Field 2</span>
                            </li>
                            <li class="oil_road" id="road_5">
                                <span class="accessibility">Field 2</span>
                            </li>
                            <li id="finish_road">
                                <span class="accessibility">Goalfield</span>
                            </li>
                        </ol>
                    </div>

正如您所看到的那样,每次页面重新加载时,跨度都在起始区域,这就是问题所在。这里是Jquery函数:

$(document).ready(function() {
                $("player1").appendTo("<%= game.getoldPlayer1() %>");
                $("player2").appendTo("<%= game.getoldPlayer2() %>");
                prepareAnimation();
                $("#player1").fadeOut(700, function() {
                    $("#player1").appendTo("<%= game.getPlayer1() %>");
                    $("#player1").fadeIn(700);
                });
                $("#player2").delay(1400).fadeOut(700, function() {
                    $("#player2").appendTo("<%= game.getPlayer2() %>");
                    $("#player2").fadeIn(700,completeAnimation);                    
                });
});

我试图用开头的两个appendTos解决问题,这应该将汽车设置为旧位置,这些位置保存在JavaBean中,但不知何故它不起作用。

1 个答案:

答案 0 :(得分:1)

不确定这是否是输入错误,但您错过了#

$("player1").appendTo("<%= game.getoldPlayer1() %>");
$("player2").appendTo("<%= game.getoldPlayer2() %>");

应该是

$("#player1").appendTo("<%= game.getoldPlayer1() %>");
$("#player2").appendTo("<%= game.getoldPlayer2() %>");