我在网站上工作,使用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);
}这是jsp页面的一部分。
<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> 发布于 2016-02-08 23:02:06
您有多个选项,但最好的选择是使用Ajax框架,例如JQuery。您可以发出ajax请求并从服务器提取数据,并使用java脚本在视图上呈现该数据。在下拉时定义事件,更改-> Ajax调用,以获得下一个下拉数据->下一个调用。这将确保您的页面不刷新,并且UX更好。
否则,传统的方法--获取页面加载上的所有数据(全部是下拉数据)--使用JS数组定义数组,并在事件更改时获取数据。
发布于 2016-02-09 19:55:19
当您单击类别时,servlet可能返回到新页面。但是,您可以通过jsp文件中的以下方式来做到这一点。
或
在for循环中,可以在组件类中有一个类似于'componentType‘的变量,也可以在此基础上进行检查。
https://stackoverflow.com/questions/35280907
复制相似问题