使用 JSTL 的 c:foreach 将列表值从 servlet 打印到 JSP

2024-01-12

这是我想要发送列表中存在的值的 servlet:

public class SearchServlet extends HttpServlet {
/**
 * 
 */
private static final long serialVersionUID = 1L;

public void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    String searchKey=request.getParameter("searchKey");

    String value = null;
    Document doc;
    String url = null;
    Map map = new HashMap();
    int id = 0;
    int count;
    int mapKey=0;
    Conectiondb db = new Conectiondb();
    Connection con = db.getconnection();
    try {
        PreparedStatement ps = con
                .prepareStatement("select id, url from search ");

        ResultSet rs = ps.executeQuery();
        WebLink webLink=null;
        while (rs.next()) {
            webLink=new WebLink();
            mapKey++;
            id = rs.getInt("id");
            url = rs.getString("url");
            doc = Jsoup.connect(url).timeout(60*100000).get();

            Elements searchText = doc
                    .getElementsContainingOwnText(searchKey);
            count=0;

            for (Element link : searchText) {
                count++;
            }
            webLink.setCount(count);
            webLink.setUrl(url);
            map.put(mapKey, webLink);
        }

        Collection mp = map.values();
        List list = new ArrayList(mp);
        Collections.sort(list,new WebLink());
        List<WebLink> webList=new ArrayList<WebLink>();
        for (Iterator it = list.iterator(); it.hasNext();) 
        {         
            WebLink link = (WebLink)it.next();             
          // System.out.println("weblink count : "+link.getCount());
         //   System.out.println("weblink url   : "+link.getUrl());     
            webList.add(link);
        }

        for (int i = 0; i < webList.size(); i++) {

            if(i==0){
                RequestDispatcher rd = getServletContext().getRequestDispatcher("/weblink.jsp");  
                rd.include(request, response);
            }

            request.setAttribute("web",webList.get(i).getUrl() ); // this is the result I want to     post on my jsp with the help of c for each method of jstl

        }
    }
    catch (Exception e) {
        e.printStackTrace();
    }
    finally
    {
        try {
            con.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}
}

这是我用来获取值的 JSP 代码,该值是在 servlet 的 request 属性中设置的。 问题是我无法获取这些值。我在请求中设置列表值的servlet代码是错误的,或者是JSP中的代码c:foreach是错的:

<c:forEach var="a" items="${web}" >
<c:out value="a.web"/>
</c:forEach>

你的逻辑是错误的。更改 servlet 和 jsp 的以下部分:

servlet:

List<String> urls = new ArrayList<String>();
for (int i = 0; i < webList.size(); i++) {
   ursl.add(webList.get(i).getUrl());
}

request.setAttribute("webURL", urls); 
RequestDispatcher rd = getServletContext().getRequestDispatcher("/weblink.jsp");  
rd.forward(request, response);

Jsp:

<c:forEach var="url" items="${webURL}" >
  ${url}
</c:forEach>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 JSTL 的 c:foreach 将列表值从 servlet 打印到 JSP 的相关文章

  • 当请求来自网络服务器而不是网络浏览器时,HTTPSession 的创建如何工作?

    我有一个非常基本的问题 HTTPSession 的创建是如何工作的 我知道你们会因为我把这个问题视为类似的问题而解雇我 存在问题 但是我问这个问题是有原因的 我知道 httpsession 是 Web 浏览器所独有的 当我们第一次执行 Ht
  • Apache Tiles 退休了。备择方案?

    Apache Tiles 于 2018 年 12 月迁入阁楼 因此 Apache Tiles 已经退休 我正在使用 Spring MVC 框架和 JSP 还有哪些替代方案 我看到了Sitemesh 但它是一个装饰器 我需要一个模板框架 我想
  • 将序列化数据发送到 servlet 时出现 java.io.EOFException

    我正在尝试从 Java 本地应用程序上传一个包含文件到服务器的对象 我的计划是 在 tomcat 上运行的 servlet 将使用以下方法获取对象ObjectInputStream in the doGet方法 但我得到一个EOFExcep
  • 在 Java Servlet 中上传文件

    我有一个 Java 动态 Web 项目 并且正在使用 TomCat v7 0 我是 Web 项目的新手 不太明白如何在我的 jsp 页面之一中上传文件 由于我的项目只是本地的 所以我认为我可以使用多部分形式 其中人们可以选择文件 并且这部分
  • Spring MVC 应用程序可以是多线程的,即使它的 servlet 不是吗?

    当您谈论 Spring 应用程序是多线程时 您是否一定是指该应用程序中定义的 servlet 是否是多线程的 或者即使应用程序中的 servlet 不是多线程 Spring 应用程序也可以配置为多线程吗 不再支持单线程 servlet 它们
  • Java 会话变量

    我听说有些人认为在会话中将信息存储在服务器上是一个坏主意 因为它不安全 因此 在多页面业务流程功能中 应用程序将数据写入数据库 然后在需要时检索信息 在会话中存储私人信息是否一定不安全 只要会话本身安全 在会话中存储属性就不存在安全风险劫持
  • 在 Portlet 环境中使用 jsp:param / c:param

    我正在尝试包含 JSP 页面jsp param在 Portlet 环境中 使用Pluto http portals apache org pluto Portlet 容器 例如
  • 有没有办法测量 Java (Servlet) I/O 流量?

    我尝试做的是使用以下代码实现 servlet 过滤器 int up request getContentLength if HttpServletRequest request getQueryString null up Math max
  • 如何将 JavaScript 库包含到 Spring MVC 项目中(例如 jQuery 或 Dojo)

    我在这里阅读了超过 5 个相关主题 但无法找到答案 分步说明 到目前为止 我已经有了 STS Spring MVC 模板结构并尝试将jquery js在我的项目中的某个地方 不幸的是 没有人说它应该在哪里 那么 请说 将 jquery js
  • 如何在java script/jsp中查找客户端计算机名称?

    我的打印应用程序必须获取客户名称 然后打印文档 如何在java脚本或jsp中找到它 我在这里搜索过 有些人正在讨论 PHP 等等 关于运行安全小程序来获取客户端计算机名称的讨论 如果是这样 请给我一个例子来做到这一点 谢谢大家 你不能用 J
  • 仅当 css 文件存在时才将其包含在 jsp 中

    我正在尝试使用默认 css 设计一个应用程序 我想要一个选项 我可以包含新的 css 自定义 文件来更改默认皮肤 我可以通过在 jsp 页面中引用 自定义和默认 css 来实现此目的 其中默认值将始终存在 并且可以为不同用户加载自定义 cs
  • Spring MVC VersionResourceResolver / ContentVersionStrategy 在 JSP 中无法正常工作

    我有一个 Spring MVC 4 3 0 应用程序 并已使用 ResourceHandlerRegistry 注册了一个 VersionResourceResolver 并添加了 ContentVersionStrategy 我启用了 R
  • HttpServletResponse sendRedirect 永久

    这将重定向一个请求暂时的302 HTTP 状态代码 HttpServletResponse response response sendRedirect http somewhere 但是是否可以用 a 来重定向它永恒的301 HTTP 状
  • Spring 3 集合绑定

    如何将集合绑定到输入数据的表单 不用于显示 例如为一个Set
  • 何时使用 doGet、doPost 和 service [重复]

    这个问题在这里已经有答案了 我想知道这些 servlet 方法 我对这些方法有所了解 比如 doPost对参数数量没有限制 同时doGet has doGet比doPost doPost安全于doGet 我的问题是 因为这些方法采用相同的参
  • 在 portlet 中设置 SearchContainer 以使用 EL 和 JSTL 在 JSP 中使用它

    我正在尝试使用SearchContainer在我的liferay应用程序中 目前我必须使用 JSP Scriplets 来设置results in
  • Jetty - 找不到 Servlet

    我是 Servlet 新手 想通过使用 Eclipse 的 Jetty 插件来调用一个简单的 Servlet 我可以调用 index html 但是当尝试访问 Servlet 时 我得到 HTTP 错误 404访问 ProjectServl
  • 如何修复XSS漏洞

    我们正在使用 fortify 扫描 java 源代码 它抱怨以下错误 Method abc sends unvalidated data to a web browser on line 200 which can result in th
  • 帮助将图像从 Servlet 获取到 JSP 页面 [重复]

    这个问题在这里已经有答案了 我目前必须生成一个显示字符串文本的图像 我需要在 Servlet 上制作此图像 然后以某种方式将图像传递到 JSP 页面 以便它可以显示它 我试图避免保存图像 而是以某种方式将图像流式传输到 JSP 自从我开始寻
  • 专门针对 JSP 的测试驱动开发

    在理解 TDD 到底是什么之前 我就已经开始编写测试驱动的代码了 在没有实现的情况下调用函数和类可以帮助我以更快 更有效的方式理解和构建我的应用程序 所以我非常习惯编写代码 gt 编译它 gt 看到它失败 gt 通过构建其实现来修复它的过程

随机推荐

  • Angular Js:类属性指令中的 onchange 不起作用

    控制指令 js function validVehicleyear scope http return restrict C scope ngModel link function scope element attrs ngModel e
  • 在 Docker 中启动并填充 Postgres 容器

    我有一个包含 Postgres 数据库的 Docker 容器 这是用官方的Postgres 图像 https registry hub docker com postgres 其中有一个 CMD 条目在主线程上启动服务器 我想通过运行来填充
  • xcode 8 错误被服务委托拒绝 (SBMainWorkspace)

    尝试在模拟器上运行构建 我收到此错误 打开 com companyname appname 的请求失败 请求被服务委托 SBMainWorkspace 拒绝 原因 安全 权利 启动需要 com apple frontboard debuga
  • 如何传递通用方法的 lambda 表达式参数以检查 MVC EF 4.0 中的重复项

    我的应用程序中有超过 10 个设置屏幕 在每个数据中 我都必须检查重复数据 例如 这是一个示例代码 private void CheckDuplication AIRLINE airline var AIRLINE context AIRL
  • React Native 不会填满 iPad 上的窗口

    我正在运行的任何 React Native 项目 包括 Facebook 的示例 在 iPad 上看起来都很奇怪 它没有填满屏幕 一切看起来 太大 内容左右各有2个黑条 任何帮助都会很棒 谢谢 解决方案 在 xcode 项目中 转到常规选项
  • 使用javascript获取具有多个下拉菜单的选项的选定值

    我有多个功能 其中有多个选项 在选择某个选项时需要更新这些选项 我还需要通过属性元素传递第三条数据 getElementById 适用于单个下拉菜单 但是当页面上有多个菜单时如何使其工作 我努力了var e document getElem
  • jQuery stop(true, true) 跳转到队列中所有动画的末尾

    我一直在使用 jQuerystop true true 方法清除正在运行的动画 以便下一个立即开始 我注意到第一个参数 clearQueue 清除整个动画队列 但第二个参数 jumpToEnd 仅跳转到当前正在运行的动画的末尾 而不是从队列
  • 如何静音AVPlayer中播放的视频?

    我正在 AVPlayer 中播放视频 现在我需要在播放时单独静音音频 请建议如何在 Objective C 中进行操作 谢谢 苏雷什 从iOS7开始你可以设置AVPlayerisMuted财产给true 在 Objective C 中 该属
  • 在 Entity Framework 4.1 Code First 中排除列可更新

    有谁知道我们是否可以在 Entity Framework 4 1 Code First 中排除列的更新 例如 我有 CreatedOn 字段 我不想在进行编辑 更新时包含该字段 这是否可能 即有选择地从 EF Code First 4 1
  • Java Swing:GUI 未更新某些属性

    编辑 下面是一个最简单 最简单且可检查的问题 RESUME 我正在做一个拉丁方应用程序 它设置一个大小为 s 的正方形 并且您需要使用一些限制来为其着色 例如同一行或同一列中的颜色不同 但我的麻烦不是问题本身 而是Swing 我正在尝试使用
  • 求矩阵中不同行和列的元素总和的最大值

    我有一个 nxm 矩阵 我需要找到不同行和列中其值之和的最大值 例如考虑以下矩阵 m1 m2 m3 n1 1 2 3 n2 4 5 6 n3 7 8 9 n4 10 11 12 最大值为 12 8 4 24 请注意 查找最大值并消除属于该列
  • 检查断言是否启用

    您可以启用 禁用assert on the ClassLoader http docs oracle com cd E19683 01 806 7930 assert 5 index html 但如何确定它们是否已启用 我想采用一些代码路径
  • 避免Python中的对象别名?

    我正在尝试编写一个函数来检查列表是否已排序 返回True or False 如何避免多个变量指向同一事物 def is sorted t a t a sort 当我这样做时 它会对两者进行排序a and t 我怎样才能避免这种情况 这是 O
  • 使用电子构建器的构建后脚本

    在使用电子构建器打包安装程序之前 是否可以在构建后运行某种脚本 我需要生成一个应该分发的额外文件 但我需要二进制文件 exe 来生成它 None
  • 从外部模块添加 argparse 参数

    我正在尝试编写一个可以由第三方扩展的Python程序 该程序将从命令行运行 并提供任何参数 为了允许第三方创建自己的模块 我创建了以下 简化的 基类 class MyBaseClass object def init self self d
  • 哪个正则表达式适用于数字和字符串?

    我正在尝试创建简单的 IDE 并根据以下内容为我的 JTextPane 着色 字符串 注释 和 关键字 公共 int 数字 整数 如 69 浮点数 如 1 5 我为源代码着色的方式是覆盖 StyledDocument 中的 insertSt
  • Spark查询执行时间

    我安装了本地 hadoop 单节点和 hive 并且在 hdfs 中存储了一些 hive 表 然后我使用 MySQL Metastore 配置 Hive 现在我安装了 Spark 并且对 Hive 表进行了一些查询 如下所示 在 scala
  • PHP 7.2 wamp 服务器上的 Magento

    我正在使用 WAMP 服务器 php 版本 7 2 在本地系统上配置现有的 magento 项目 在安装 magento 时出现错误 必须加载 PHP 扩展 mcrypt 问题是 php 7 2 不再支持 mycrypt 有人可以建议我如何
  • RabbitMQ 等待多个队列完成

    好的 这里是正在发生的事情的概述 M lt Message with unique id of 1234 Start Queue lt Exchange lt bind to multiple queues Q1 Q2 Q3 lt star
  • 使用 JSTL 的 c:foreach 将列表值从 servlet 打印到 JSP

    这是我想要发送列表中存在的值的 servlet public class SearchServlet extends HttpServlet private static final long serialVersionUID 1L pub