如何将一个无法更改的参数从java传递给HTML

时间:2018-04-09 05:30:31

标签: java html json ajax

我将许多可选图像(人物照片)从Java通过JSON发送回AJAX并以HTML格式显示。对于每个图像,我发送一个与人的ID相对应的参数。仅显示他们有权查看的人的图像。选择图像后,此ID参数用于获取所选人员的详细信息并将其显示在新的HTML页面上。

最大的问题是,用户可以轻松更改此参数,以显示他们可能无权访问的其他人的详细信息。我可以通过检查图像ID是否在该人有权访问的组中来解决这个问题。但是,有没有办法以这样一种方式存储ID,使其无法更改并仍然附加到图像上,因此当选择图像时,我可以访问正确的ID并显示详细信息,因为知道ID尚未更改用户?

java代码是:

    String json = null;
    int i = 0;
    int col = 1;
    for (final YouthMember youthMember : youthMembers) {
        String image = youthMember.getPhotograph();
        String name = youthMember.getFirstname() + " " + youthMember.getSurname();

        if (i == 0){
            json = "<div class='row'><div class='col-md-1'><a href='CubAwardOverview.html?id=" + youthMember.getId() +
                    "'><img src=" +
                    image + " height='60' width='60' style='border-style: none' alt='person image' /></a>" +
                    "<div class='caption'> <p>" + name + "</p> </div></div>";
            i++; col++;
        }else{
            if (col > 12){
                json = json + "</div><div class='row'>";
                col = 1;
            }
            json = json + "<div class='col-md-1'><a href='CubAwardOverview.html?id=" + youthMember.getId() +
                    "'><img src=" +
                    image + " height='60' width='60' style='border-style: none' alt='person image' /></a>" +
                    "<div class='caption'> <p>" + name + "</p> </div></div>";
            col++;
        }

    }
    if (col > 0){
        json = json + "</div>";
    }
    response.setContentType("image/jpeg");
    response.setCharacterEncoding("UTF-8");
    response.getWriter().write(json);

1 个答案:

答案 0 :(得分:0)

一种方法是加密参数,使其无法更改。请参阅:how to encrypt/encode url parameters in jsp