以下内容无效
<%session.setAttribute("key", ${key});%>
<c:redirect url="/example/request/first.jsp">
<c:param name="send" value="done"/>
<c:param name="key"><%= session.getAttribute("key") %></c:param>
</c:redirect>
结果:“发送=完成&amp;密钥=%24%7bkey%7d”
我如何传递会话属性以便获得正确的值?
* update - 发生的事情是我将上传的文件保存到服务器上的目录中。我不知道如何使用ajax调用来完成它,所以我使用了表单post方法。
我的ajax调用将记录保存到数据库正在我的表单发布之前执行,因此一旦我转发到jsp页面处理文件上传,密钥(用于该记录)就会丢失。
我正在尝试从那里保留密钥重定向到我的主页面,以便我可以为用户加载记录。我希望通过将密钥从ajax调用保存到表单帖子,也许会话数据可以为我完成。我知道凌乱......我的解决方案至少需要在Internet Explorer 8上工作。
答案 0 :(得分:4)
为什么要将taglibs / EL与oldschool scriptlet混合?
只使用Expression Language (EL, those ${}
things)。
<c:param name="key" value="${key}" />
我强烈建议您通过<% .. %>
中的相应条目配置您的webapp以完全禁用 scriptlet (那些web.xml
事物),这样就可以避免这种错误在将来。