java - 如何动态填充jsp页面?

标签 java jquery jsp servlets

我正在使用 servlet 和 jsp 开发网站。

我有不同类别的 jsp 页面,当我单击一个类别时,servlet 会重定向到另一个包含组件(台式机、笔记本电脑、平板电脑...)的 jsp 页面,但该页面上有所有类别,我需要这样做,如果我单击(桌面)类别以在 jsp 页面中仅显示桌面(组件)。

这是我的 jsp 页面和组件的 servlet:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    Collection<Components> components;
    components= componentsdao.getAll() -- geting all components from database

    request.setAttribute("components", komponenta);
    request.getRequestDispatcher("pcitem.jsp").forward(request, response);
}

and this is part of jsp page

           <c:forEach var="i" items="${requestScope.components}">         
                    <p>
                     ${i.nameofcomponent}
                    </p>
                    <div >
                    <h6>Description ${i.descriptionoofcomponent}</h6>
                    </div>
                    <div ">
                    <h6>Price ${i.priceofcomponent}</h6>
                    </div>
                    <div >
                    <h6>Official site ${i.link}</h6>
                    </div>
        </c:forEach>  

最佳答案

您有多种选择,但最好的选择是使用 Ajax 框架,例如 JQuery。您可以发出 ajax 请求并从服务器提取数据,然后使用 java 脚本在 View 上呈现该数据。定义下拉更改事件 -> Ajax 调用以获取下一个下拉数据 -> 下一个调用。这将确保您的页面不会刷新并且用户体验更好。

否则采用老式方式 - 获取页面加载时的所有数据(所有下拉数据) - 使用 JS 数组定义数组并获取事件更改时的数据。

关于java - 如何动态填充jsp页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35280907/

相关文章:

mysql - jdbc-mysql 如果变量为空, "' +变量 +'"的值会发生什么?

java - 为什么在调试 JBoss 时 Eclipse 会跳行?

jquery - 加载类型为 ="text/html"和 src ="..."的脚本标记,但被 jQuery 忽略

javascript - 表格排序 - 我想在对父行进行排序时将子行与父行一起移动

jquery - 使用 jQuery 检查列表框项目是否存在

java - 在 Spring Security 中配置自定义对象

javascript - 如何调用 jsp 方法 onclick/on 表单提交

java - 具有 UserThread 和序列化的线程中的 Hibernate session

java - 收到 StackOverFlowError 且不确定原因?

java - 如何使用 hibernate 添加从数据库获取的迄今为止的天数