我正在研究JSP-servlet应用程序,现在我编写了一个编辑注册商信息的页面。
Senario是我在加载页面时向JSP页面发送ArrayList
表单servlet。 ArrayList
包含有关注册商所属组的信息,ArrayList
是在生成多个SQL语句后生成的。当用户尝试编辑某些字段并使一个必填字段为空并提交表单时,servlet会进行验证并返回错误以编辑页面。
我面临的问题是我第一次发送的所有团体都在空中飞翔。所以我必须再次连接到DB并进行多次查询以再次获取组并将其发送回JSP页面。 是否有另一种简单的方法可以在JSP页面中使arrayList稳定?
修改
这是我在会话中制作 ArrayList
范围的代码。
<c:set var="userGroups" value="${userGroups}" scope="session"></c:set>
答案 0 :(得分:2)
将其存储在会话中或只是与它一起使用。我真的没有看到任何问题。如果具体的问题是你必须再次对同一个代码进行复制,或者整个代码在Servlet类中都很难看,那么只需将它重构/隐藏到一个可用的DAO类中,你可以在Servlet中导入/调用/重用它通常的Java方式。
更新:根据您的更新,这没有意义。您只需要从
更改您的servlet代码request.setAttribute("userGroups", userGroups);
到
request.getSession().setAttribute("userGroups", userGroups);
您不需要<c:set>
。