【问题标题】:parameters stability in jsp pagejsp页面中的参数稳定性
【发布时间】:2011-03-20 18:07:59
【问题描述】:

我正在开发 JSP-servlet 应用程序,现在我正在编写一个编辑有关注册商信息的页面。

当我加载页面时,有一个ArrayList 我将表单servlet 发送到JSP 页面。 ArrayList 包含注册商所属组的信息,ArrayList 是多条 SQL 语句后产生的。当用户尝试编辑一些字段并将一个必填字段留空并提交表单时,servlet 进行验证并将错误返回到编辑页面。

我面临的问题是我第一次发送的所有组都在天空中飞行。所以我必须再次连接到数据库并进行多次查询以再次获取组并将其发送回 JSP 页面。 是否有另一种简单的方法可以使 JSP 页面中的 arrayList 稳定?

编辑 这是我在会话中设置 ArrayList 范围的代码。

<c:set var="userGroups" value="${userGroups}" scope="session"></c:set>

【问题讨论】:

  • @Piyush-我不知道 Ajax,但如果它有效,我真的很想知道如何。

标签: java jsp servlets


【解决方案1】:

要么将其存储在会话中,要么直接使用它。我真的没有看到任何问题。如果具体问题是您必须再次复制粘贴相同的代码,或者整个代码在 Servlet 类中很难看,那么只需将其重构/隐藏到您在 Servlet 中导入/调用/重用的可用 DAO 类中通常的 Java 方式。


更新:根据您的更新,这没有意义。你只需要从

改变你的servlet代码
request.setAttribute("userGroups", userGroups);

request.getSession().setAttribute("userGroups", userGroups);

您不需要&lt;c:set&gt;

【讨论】:

  • 我试图通过将变量的范围设置为会话来将其存储在会话中,但它不起作用,你所说的与它一起生活是什么意思?我面临的主要问题是我为第一次获取 ArrayList 而编写的多个 sql 语句,并将函数封装在一个类中似乎是个好主意,但 DAO 欣赏代表什么??
  • 如果它不起作用,那么你可能做错了什么。至于“忍受它”,我的意思是说“接受它并继续前进”。 DAO 缩写代表数据访问对象。
  • 感谢此信息,我将把与会话范围相关的代码,请参阅编辑部分。
  • 查看答案更新。以后,请您实际编辑问题后发表评论。您发表评论时,我没有看到任何内容。
  • @BalusC- 这对我来说是新信息,而且它有效,maaaaaaaaaaaaaaaanythanx,我真的欠你很多信息,下次我会在合适的地方制作cmets。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多