在我的ATG应用程序中,当我使用checkFormRedirect将用户重定向到带有一些参数的jsp页面时,我得到的参数为NULL。请参阅下面的FormHandler代码:
UserFormHandler:
public boolean handleUserRedirect(dynamo req, dynamo res){
//using request
req.setParameter("test", "testdata");
//using session
HttpSession session=req.getSession();
session.setAttribute("uname","testdata");
//redirect to test.jsp
return checkFormRedirect("/test/test.jsp","null",req,res);
}
test.jsp:
<% out.println(session.getAttribute("uname")); %>
<% String stErrorMsg=(String)session.getAttribute("uname");%>
<%=stErrorMsg %>
<% request.getParameter("test")%>
此外,我尝试在formHandler中使用变量并设置值,但仍然得到的值为NULL。能不能帮点忙。
通常,您不能使用sendRedirect()方法发送POST请求。您可以使用RequestDispatcher在相同的web应用程序、相同的上下文中转发()带有参数的请求。
RequestDispatcher dispatcher = servletContext().getRequestDispatcher("test.jsp");
dispatcher.forward(request, response);
HTTP规范规定,所有重定向必须采用GET(或HEAD)的形式。如果安全性有问题,可以考虑加密查询字符串参数。另一种方法是,您可以通过使用POST方法创建一个隐藏表单,并在加载页面时使用javascript提交该表单,从而将POST发送到目标。
所以您可以使用会话方法:我试过了,我得到了JSP中的值。
<%
out.println(session.getAttribute("message"));
session.removeAttribute("message");
%>
/* Or using JSTL */
<c:out value="${sessionScope.message}" />
<c:remove var="message" scope="session" />
希望能有所帮助。
问题内容: 我从中检索到的Userprincipal是否绑定到请求或会话? 这是我访问当前登录用户的方式。如果当前会话被破坏,这将无效吗? 问题答案: 这取决于您如何配置它(或者说,您可以配置其他行为)。 在Web应用程序中,您将使用与交互的。 的Java文档以: 在请求之前,使用从已配置的{@link SecurityContextRepository}获取的信息填充{@link Securit
从WebSocketendpoint,我尝试调用单例服务。但是我无法使用来自WebSocket的请求或会话范围。 谢谢你的帮助!
是否有办法获得请求。要求要求一场在图像的层次结构中看到的属性?我尝试了以下方法: <代码>对象值=请求。getAttribute(“Travis”) 和
问题内容: 但是我已经没有struts2-spring插件,也没有在应用程序中使用spring。 我有3个测试用例,其中2个在请求为null时失败,一个在会话为null时失败 第一个堆栈跟踪 对应于 第二和第三测试堆栈跟踪 对应于 我相信存在一些依赖问题。我尝试过删除一些依赖项,并一并删除,但是都没有用。 这是我的POM的样子: 更新 -测试看起来像 更新 我按照建议将测试更改为executeAc
问题内容: 我想知道是否有一种简单的方法可以从Jade模板中访问Express.js的req或会话变量,而无需通过常规响应传递它。 还是这是唯一的方法? 问题答案: 您需要创建一个Express才能使用。 然后在模板内部,您可以使用或其他任何东西。 注意:Express 3中不推荐使用dynamicHelpers