JSP AJAX jQuery填充表的问题

时间:2016-05-02 22:12:36

标签: javascript jquery ajax jsp

我编写了一个servlet来从MongoDB数据库中检索数据并将其显示在JSP文件的表中:

servlet:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    MongoClient mongo = (MongoClient) request.getServletContext().getAttribute("MONGO_CLIENT");
    ArrayList <tt> tt = new ArrayList<tt>();
    DBO dao = new DB(mongo);
    tt = dao.getAll();
    Gson gson = new Gson();
    JsonElement element = gson.toJsonTree(tt, new TypeToken<List<tt>>() {}.getType());
    JsonArray jsonArray = element.getAsJsonArray();
    log.debug(jsonArray.toString());
    response.setContentType("application/json");
    response.getWriter().print(jsonArray);

}

我的JSPfile包含JavaScript文件(暂时):

<script type="text/javascript">
    $(document).ready(function() {
        $.get('/ttSRV/webttServlet',function(responseJson) {
            if(responseJson!=null){
                $("#tttable").find("tr:gt(0)").remove();
                var table1 = $("#tttable");
                $.each(responseJson, function(key,value) { 
                    var rowNew = $("<tr><td></td><td></td><td ></td><td></td><td></td><td></td><td></td></tr>");
                    rowNew.children().eq(0).text(value['owner']); 
                    rowNew.children().eq(1).text(value['nom']); 
                    rowNew.children().eq(2).text(value['date']); 
                    rowNew.children().eq(3).text(value['reception']); 
                    rowNew.children().eq(4).text(value['ren']); 
                    rowNew.children().eq(5).text(value['status']);
                    rowNew.children().eq(6).text("<a class=\"btn btn-success\" href=\"#\"><i class=\"icon-zoom-in icon-white\"></i>Voir</a><a class=\"btn btn-danger\" href=\"#\"><i class=\"icon-trash icon-white\"></i>Supprimer</a>");
                    rowNew.appendTo(table1);
                });
            }
        });        
    });
</script>

它工作正常,但我的最后一行:

rowNew.children().eq(6).text

包含显示或删除项目的超链接,并显示为字符串。如何将其显示为<a>超链接而不是字符串?

1 个答案:

答案 0 :(得分:0)

您是否尝试将rowNew.children().eq(6).text(更改为rowNew.children().eq(6).html(

.text函数仅渲染文本,而html渲染Raw html。

$(document).ready(function(){
    $("#example1").text("<b>Hello world!</b>");  
});

第一个示例写道:<b>Hello world!</b>

$(document).ready(function(){
    $("#example2").html("<b>Hello world!</b>");
});

第二个例子写道: Hello world!