我正在使用gwt,gwt包含在我的jsp中,如下所示
一旦我点击菜单项,它就会带我到包含gwt模块的myJsp.jsp,我正在显示带有上传按钮的表单。 一旦我点击上传,它正在卸载一个文件(并获取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中我没有得到这个值可能是什么原因,是否存在范围问题?
答案 0 :(得分:1)
唯一的原因是您在请求中设置了值,因为您的请求已完成,服务器会放弃您的请求。
答案 1 :(得分:0)
设置时
request.setAttribute(“importId”,importId);
您必须重定向到JSP,这会为服务器创建一个新的JSP请求。含义服务器创建一个新的请求对象,并且不会记住设置了属性的旧对象。
我不太了解gwt,但在JSP-Servlet中,有2种机制1)重定向和2)转发。我们使用Forward机制转到具有相同请求对象的JSP,因此在JSP中也可以使用设置到Object中的属性,因为它是Request中传递的请求对象的副本。
所以请检查你在GWT中可以做些什么。