首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在jsp中显示来自servlet的数据,但不覆盖当前值

问在jsp中显示来自servlet的数据,但不覆盖当前值
EN

Stack Overflow用户
提问于 2012-09-14 18:40:00
回答 3查看 3K关注 0票数 2

我需要在jsp页面中显示来自servlet的数据。目前我有这样的想法:

SERVLET:

代码语言:javascript
复制
Object data = text;
request.setAttribute("data", data);
request.getRequestDispatcher("index.jsp").forward(request, response);

JSP:

代码语言:javascript
复制
<p>result: ${data}</p>

在JSP中有一个简单的文本框和一个send按钮。在我按下发送按钮的那一刻,响应每次都会被覆盖。

我怎么做才能在每次搜索后在新的一行中看到结果呢?我还想看看之前的搜索结果...

非常感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-14 18:50:40

你有几个选择:

JSP将当前值发送到服务器,执行搜索并将新结果附加到服务器上,然后将整个字符串发送回Request中的,以便再次显示所有内容。您必须将值包装在<input>标记中,如果您仍然希望在<p>中显示data而不是作为输入字段,则可以使用<input type="hidden">。

JSP:

结果:${data}

Servlet:

Object newData = text;Object oldData = request.getParameter(" oldData ");request.setAttribute("data",oldData+ "“+ newData);request.getRequestDispatcher("index.jsp").forward(request,response);

  • Store会话作用域中data的所有值,只需从您的servlet追加到它。JSP必须从会话作用域中输出值,而不是输出请求。在本例中,值存储在唯一连接的String中。最好将data的每个值存储在一个数据结构中,比如List,然后在JSP中遍历它,这样分隔符就会保留在视图中。

JSP:

结果:${sessionScope.data}

Servlet:

Object newData =文本;Object oldData = request.getSession().getAttribute("data");request.getSession().setAttribute("data",oldData + "“+ newData); response);

票数 1
EN

Stack Overflow用户

发布于 2012-09-14 18:50:07

1在servlet中.Use一个数组而不是简单的对象

  1. 用:Servlet
  2. Traverse数组的新值填充数组,并将每一项显示为新行
票数 0
EN

Stack Overflow用户

发布于 2012-09-14 18:50:38

您正在将数据放入RequestScope中,您必须将它们添加到SessionScope中才能查看之前的结果。

请参阅此示例:http://viralpatel.net/blogs/jsp-servlet-session-listener-tutorial-example-in-eclipse-tomcat/。

用JSP编写java代码并不是很好的做法,因此您可能希望将逻辑转移到servlet中。但是这个例子描述了你所需要的点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12422861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档