我想实现以下结构:
Servlet (GET) (put collection of X on request) | JSP (output list of X) <-- | | Servlet (POST) ----------- Validation error! | Validated OK, continue
我使用How to avoid Java code in JSP files?中描述的模式实现了这个,但我想知道是否有一种简单的方法可以避免在验证阶段重新加载我的X集合,因为它不再在请求对象上。我在POST阶段的请求范围上放了一些验证消息,所以我需要能够访问这些消息。
我试图在这个阶段避免使用框架,因为项目的规模似乎不合理。
答案 0 :(得分:4)
是的。最简单的方法是将X的集合放入会话中。
鉴于HttpServletRequest,您可以通过getSession()获取关联的HttpSession
。然后通过setAttribute()将X的集合设置为HttpSession
,即:
httpRequest.getSession().setAttribute("xxxxxxx" , collectionOfX)
然后,在Servlet(POST)中,您可以从HttpSession
获取X的集合
httpRequest.getSession().getAttribute("xxxxxxx");