[英]Not getting the attribute in jsp which is set in request in java servlet?
我正在使用gwt並且gwt包含在我的jsp中,如下所示
單擊菜單項后,它將帶我進入myJsp.jsp,其中包括gwt模塊,並且我正在顯示帶有上載按鈕的表單。 單擊上傳后,它正在加載文件(並獲取blobKey)並返回到相同的jsp(myJsp.jsp),但在此之前,在分派給該jsp(第二次)之前,我在請求中設置了一個屬性。
我試圖通過使用$ {ImportId}在jsp中獲取該屬性,但是我得到的是空值。
下面是我的jsp。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<script type="text/javascript" language="javascript" src="/ActivityLog/ActivityLog.nocache.js">
</script>
</head>
<body>
<iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1' class="iframe"></iframe>
<div class="wrapper">
<input type="hidden" name="memcacheHeaderId" value="${importId}" />
<div id="activityLogModule">
</div>
</div>
</div>
</body>
</html>
request.setAttribute("importId", importId);
但是在jsp中我沒有得到這個值 可能是什么原因,是否存在范圍問題?
唯一的原因是您正在請求中設置值,當請求完成時,服務器將放棄您的請求。
設置時
request.setAttribute(“ importId”,importId);
比您必須重定向到JSP,后者將向服務器創建一個新的JSP請求。 含義服務器將創建一個新的請求對象,並且不會記住設置了屬性的舊對象。
我對gwt不太了解,但是在JSP-Servlet中,有2種機制1)Redirect和2)Forward。 我們使用Forward機制將帶有Same請求對象的JSP轉到JSP,因此設置到Object中的屬性在JSP上也可用,因為它是在Request中傳遞的請求對象的副本。
因此,請檢查您可以在GWT中執行的操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.