解决方案 »
- 在action之中调用了service的方法,但是在jsp页面显示的时候,会根据checkbox的不同而增加或减少列,这个怎么处理?
- log4j 每天创建日志不成功 请指点下
- Ajax用POST方式传中文乱码,如何解决?
- 照着书上写的struts,就是没办法运行啊
- jsp页面中对话框处理问题
- getOutputStream() has already been called for this response问题
- 点击提交确定按钮checkbox选择状态不改变
- 小问题求教!高手请进,在线等,立马给分;
- 奇怪问题
- resin+iis为什么不能实现表单的post功能???
- servlet中不支持使用Spring注解@Resource和@Autowired为service引用注入对象吗
- WebService运行报错org.xml.sax.SAXParseException
你这是想要 jstl 嵌套遍历吗?怎么没有看到 jstl 遍历标签代码?
package Tmall.com.VO;import java.util.ArrayList;
import java.util.List;public class HeaderVO
{
private int id;
private int pId;
private String myTmallName;
private HeaderVO parent;
private List<HeaderVO> child = new ArrayList<HeaderVO>();
public List<HeaderVO> getChild() {
return child;
}
public void setChild(List<HeaderVO> child) {
this.child = child;
}
public HeaderVO getParent() {
return parent;
}
public void setParent(HeaderVO parent) {
this.parent = parent;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getpId() {
return pId;
}
public void setpId(int pId) {
this.pId = pId;
}
public String getMyTmallName() {
return myTmallName;
}
public void setMyTmallName(String myTmallName) {
this.myTmallName = myTmallName;
}
}public List<HeaderVO> getHeaderNav()
{
List<HeaderVO> headerNavList = new ArrayList<HeaderVO>();
DBConnection DBC = new DBConnection();
HeaderVO myHeaderNav = null;
String sql = "select * from Test";
ResultSet rs;
try {
rs = DBC.executeQuery(sql);
while(rs.next())
{
int id = rs.getInt("id");
int pId = rs.getInt("pId");
String myHeaderNavName = rs.getString("navName");
myHeaderNav = new HeaderVO();
myHeaderNav.setId(id);
myHeaderNav.setpId(pId);
myHeaderNav.setMyTmallName(myHeaderNavName);
HeaderVO grandParent = new HeaderVO();
grandParent.setId(pId);
myHeaderNav.setParent(grandParent);
HeaderVO parent = new HeaderVO();
parent.setId(pId);
myHeaderNav.setParent(parent);
HeaderVO nephew = new HeaderVO();
nephew.setId(pId);
myHeaderNav.setParent(nephew);
headerNavList.add(myHeaderNav);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{
DBC.close();
}
return wrapHeaderNavList(headerNavList);
}
private List<HeaderVO> wrapHeaderNavList(List<HeaderVO> headerNavList)
{
List<HeaderVO> grandParent = new ArrayList<HeaderVO>();
if(headerNavList != null && headerNavList.size() > 0)
{
for(HeaderVO headerNavListGrandParent : headerNavList)
{
if(headerNavListGrandParent.getParent().getId() == 0)
{
grandParent.add(headerNavListGrandParent);
for(HeaderVO headerNavListParent : headerNavList)
{
if(headerNavListParent.getParent().getId() == headerNavListGrandParent.getId())
{
headerNavListParent.setParent(headerNavListGrandParent);
headerNavListGrandParent.getChild().add(headerNavListParent);
for(HeaderVO headerNavListChild : headerNavList)
{
if(headerNavListChild.getParent().getId() == headerNavListParent.getId())
{
headerNavListChild.setParent(headerNavListParent);
headerNavListParent.getChild().add(headerNavListChild);
for(HeaderVO headerNavListNephew : headerNavList)
{
if(headerNavListNephew.getParent().getId() == headerNavListChild.getId())
{
headerNavListChild.getChild().add(headerNavListNephew);
headerNavListNephew.setParent(headerNavListChild);
}
}
}
}
}
}
}
}
}
return grandParent;
}JSTL:
<c:forEach items="${myHeaderNav}" var="myHeaderNavs">
<i><img src="IMG/nav.png"></i>
<a href="#">${myHeaderNavs.myTmallName}</a>
<b></b>
<div class="headerNavDiv">
<c:forEach items="${myHeaderNavs.parent}" var="myHeaderNavParents">
<div class="headerNavDivListLeft">
<p>${myHeaderNavParents.myTmallName}</p>
<c:forEach items="${myHeaderNavParents.child}" var="myHeaderNavParentChilds">
<ol class="headerleft">
<c:forEach items="${myHeaderNavParentChilds.nephew}" var="myHeaderNavnephews">
<li><a href="#">${myHeaderNavnephews.myTmallName}</a></li>
</c:forEach>
</ol>
</c:forEach>
<div class="block"></div>
</div>
</c:forEach>
</c:forEach>
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import Tmall.com.DAO.HeaderDAO;
import Tmall.com.VO.HeaderVO;public class IndexServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
this.doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// TODO Auto-generated method stub
HeaderDAO headerDAO = new HeaderDAO();
List<HeaderVO> myTmall = headerDAO.getMyTmall();
req.setAttribute("myTmall", myTmall);
List<HeaderVO> myCollection = headerDAO.getCollection();
req.setAttribute("myCollection", myCollection);
List<HeaderVO> myHeaderNav = headerDAO.getHeaderNav();
req.setAttribute("myHeaderNav", myHeaderNav);
req.getRequestDispatcher("/index.jsp").forward(req,resp);
}
}