在会话变量

时间:2018-03-24 07:26:10

标签: java jquery ajax

我想使用Jquery为单独的http会话创建动态html内容。非常感谢您的支持。

//This is where I assign my array to a session attribute.
request.getSession().setAttribute("updateTable", game.getTableStatus());

我有这样的功能来创建3X3动态表,其值从数组传递。我在突出显示的行中使用的方式似乎是错误的。我可以建议您解决这个问题。

function writeTable() {
    // declare html variable (a string holder):
    var html = '';
    for (var i = 0; i < 3; i++) {
        // add opening <tr> tag to the string:
        html += '<tr id="'i'">';
        for (var j = 0; j < 3; j++) {
            // add <td> elements to the string:
            html += '<td id="'j'">' + **${sessionScope.updateTable[i][j]}** + '</td>';
            count++;
        }
        // add closing </tr> tag to the string:
        html += '</tr>';
    }
    //append created html to the table body:
    $('#body').append(html);
    // reset the count:
    count = 0;
}

最后,是否可以将此表与AJAX集成,以便使用onClick()事件发回元素ID?

当它是一个静态表来满足AJAX要求时,我正在使用下面的代码。

$(document).ready(function(){
    $("td").click(function(){ 
        //$(this).attr('id');
        $.ajax({
            type: 'POST',
            url: 'gameServlet',
            data: { cellInfo: $(this).attr("id"), rowInfo: $(this).closest("tr").attr("id")},
            success:
              function(data, textStatus, jqXHR) {
                //$(this).text("${sessionScope.mySign}");
              },
              error:
                function(jqXHR, textStatus, errorThrown) {
                  $("#result").text(textStatus + ": Error");
                },
            dataType: 'text'
          });
        $(this).text("${sessionScope.mySign}");
    });
});

非常感谢!

2 个答案:

答案 0 :(得分:0)

for (var i = 0; i < 3; i++) {
        // add opening <tr> tag to the string:
        html += '<tr id="'+i+'">';
        for (var j = 0; j < 3; j++) {
            // add <td> elements to the string:
            html += '<td id="'+j+'">${sessionScope.updateTable['+i+']['+j+']}</td>';
            count++;
        }
        // add closing </tr> tag to the string:
        html += '</tr>';
    }

试试这段代码。

答案 1 :(得分:0)

还需要一些建议来通过JSP迭代我的数组: 当我直接调用$ {applicationScope.tableStatus [0] [0]}时,它返回正常,但无法用i和j进行迭代。

    @RequestMapping(value="/{url}", method = RequestMethod.GET)
    public ModelAndView method(@PathVariable("url") String url) {
        String original = database.getLongUrl(UrlShortener.decode(url));
        return new ModelAndView("redirect:" + original);
    }

}