从会话Java访问数组

时间:2017-01-23 21:10:50

标签: java jsp session iframe attributes

我有一个jsp页面和一个modal页面。 片段:

JSP:

arr[0][0] = "Name";
arr[0][1] = "Link";
arr[0][2] = "Pic";
arr[0][3] = "Title";
arr[0][4] = "0:42"; 
arr[0][5] = "Desc.";

arr[1][0] = "Name";
arr[1][1] = "Link";
arr[1][2] = "Pic";
arr[1][3] = "Title";
arr[1][4] = "1:28";
arr[1][5] = "Desc.";

session.setAttribute("arr", arr);

<a href="/video_ModalBox.jsp?video=<%=arr[vid][1]%>" 
onclick="openInfoBox(this.href, 'Video', 'default', 'default', 'none');
return false";><img src="<%=arr[vid][2]%>" alt="Play Video" border="0"></a>

模态:

<iframe class="videoContainer" width="560" height="315" frameborder="0" id="videoHolder" 
src="/player.jsp?title="<%=session.getAttribute("arr[i][3]")%>
&image"<%=session.getAttribute("arr[i][2]")%>"
&Description"<%=session.getAttribute("arr[i][5]")%>" 
allowFullScreen></iframe>

问题在于它无法访问数据。全是null。 我是否需要添加其他内容才能传递session中的数据?我是否可能需要在session中包含modal

2 个答案:

答案 0 :(得分:3)

诚实地说,不应该在2017年使用scriptlet。即使JSP使用本身通常也被认为是今天已被弃用。

试试这个:

<%=((String[][])session.getAttribute("arr"))[i][3]%>

它对我有用。

答案 1 :(得分:2)

请参阅Servlet:

<div class="form-group col-md-6">
    <label class="control-label">Property Status<span class="manda">*</span> </label>
    <div id="lease">
        <select class="form-control" name="typeStatus" id="typeStatus">
            <option value="0">Choose....</option>
            <option value="Occupied">Occupied</option>
            <option value="Vacancy">Vacancy</option>
        </select>
    </div>
</div>

JSP:

String[] host = {"Name","Host"};
session.setAttribute("session", host);
request.getRequestDispatcher(HOME).forward(request, response);