我的一个页面是由两个jsp组成的,上面是增加和编辑界面,下面是显示全部(包含编辑,删除,连接)。
要做的目的是点编辑本条数据就在上面的编辑界面显示,再进行编辑,
现在我的问题就是点编辑根本没办法显示,,,,因为编辑界面如果<c:foreach 界面就不见了。。显示全部界面是这样的:<li class="gggl""><a href="../servlet/F_ListServlet?action=Editf_List&id=${f_listList.id}&page=${page}">编辑</a></li>servlet里是这样的:if (action.equals("Editf_List")) 
{
int id = Integer.parseInt(request.getParameter("id"));
ArrayList f_listinfolist = f_list_op.f_listInfo(id);
request.removeAttribute("f_listinfolist");
request.setAttribute("f_listinfolist", f_listinfolist);
RequestDispatcher rd = request.getRequestDispatcher("../Admin/LinksManage.jsp");
rd.forward(request, response);
}
编辑界面是这样的:<div id="links">
              <form id="form2" name="form2" method="post" action=".....">
            <c:forEach var="f_listinfolist" items="${f_listinfolist}">
                             。
只要放<c:foreach 界面就不出来,请问到底是哪里出错了????

解决方案 »

  1.   

    struts2的标签默认不支持el表达式,它默认采用OGNL表达式。
    所以,items="${f_listinfolist}" 可以直接改为items="f_listinfolist",前提是f_listinfolist是action中的一个熟悉,并提供getter和setter方法。
      

  2.   

    有没有声明标记文件?<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>有没有在jsp界面里获得f_listinfolist? 
    <%
        @SuppressWarnings("unchecked")
        ArrayList<String> f_listinfolist =  (ArrayList<String>)request.getAttribute("f_listinfolist");
    %>
    变量名不要搞错。
      

  3.   


    声明了  
    我的<c:forEach var="f_listinfolist" items="${f_listinfolist}">不就是获得list吗?
      

  4.   

    我没用struts 我用的是jsp+servlet 
      

  5.   

    把变量名f_listinfolist  下划线去掉试试。
      

  6.   

    <c:forEach items="${sdaMZBumonList}" var="list">
    <option value="${list.sDABumonCD}">${list.sDABumonNM}</option>
    </c:forEach>
      

  7.   

    <%@page contentType="text/html;charset=UTF-8"%>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <%@taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <link href="../Styles/Login.css" type="text/css" rel="stylesheet" /> 
        <title>友情链接管理</title>
      <jsp:include page="../servlet/F_ListServlet?action=f_listList"></jsp:include>
        </head>
        <body scroll="yes">
         <div id="right">
                <div id="right_title">友情链接管理</div>
                <jsp:include page="LinkShare.jsp" />
                    <div  id="Content-Detail" style="margin-top:0px;border-left:solid 1px #9BC5EB;border-top:solid 1px #9BC5EB" >
                    <ul>
                        <li style="width:30px;">序号</li>
                        <li style="width:300px;">法院名称</li>
                        <li style="width:205px;">法院链接地址</li>
                        <li style="width:100px;">类型</li>
                        <li style="width:61px;">顺序</li>
                        <li style="width:50px;">编辑</li>
                        <li style="width:50px;">删除</li>
                    </ul>
                </div>
      <div  id="Content-SubDetail">
    <c:forEach var="f_listList" items="${f_listList}" varStatus="currentCount">
                    <ul style="overflow:scroll;overflow-x:hidden; text-align:center;">           
                            <li class="gggl" style="width:30px;">${(page-1)*20+currentCount.count}</li>
                        <li class="gggl" style="width:300px;" title="${f_listList.f_name}">${f_listList.f_name}</li>
                        <li class="gggl" style="width:205px;" title="${f_listList.f_link}">${f_listList.f_link}</li>                    
    <c:if test="${f_listList.f_kind=='1'}" >
    <li class="gggl" style="width:100px;">高级法院链接</li>
    </c:if>
    <c:if test="${f_listList.f_kind=='2'}" >
    <li class="gggl" style="width:100px;">中级法院链接</li>
    </c:if>
    <c:if test="${f_listList.f_kind=='3'}" >
    <li class="gggl" style="width:100px;">基层法院链接</li>
    </c:if>
    <li class="gggl" style="width:61px;">${f_listList.f_order}</li>
                        <li class="gggl" style="width:50px;"><a href="../servlet/F_ListServlet?action=Editf_List&id=${f_listList.id}&page=${page}">编辑</a></li>
                    </ul>
    </c:forEach>
                </div>
            </div>
        </body>
    </html>这是主界面,其中有句 <jsp:include page="LinkShare.jsp" />包含了另个界面,
    另个界面代码如下:
    <%@page contentType="text/html;charset=UTF-8"%>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
    <div id="links">
    <form id="form1" name="form1" method="post" action="../servlet/F_ListServlet?action=AddFlist">
          <div class="link">
               <label for="LinkName">法院名称:</label>
                 <input name="LinkName" type="text" id="LinkName" size="40" maxlength="50" />
            </div>
            <div class="link">
                 <label for="LinkUrl">法院链接:</label>
                 <label for="LinkUrl"></label>
                 <input name="LinkUrl" type="text" id="LinkUrl" size="40" maxlength="50"  />
            </div>
            <div class="link">
            <label for="LinkSort">法院级别:</label>
            <label for="textfield"></label>
            <label for="linkSort"></label>
            <select name="linkSort" id="linksort">
                  <option value="1">高级法院链接</option>
                  <option value="2">中级法院链接</option>
                  <option value="3">基层法院链接</option>
            </select>
    </div>
            <div class="link">
                <label for="LinkOrder">显示顺序:</label>
                <label for="textfield"></label>
                 <label for="linkOrder"></label>
                <select name="linkOrder" id="linkOrder">
                   <option value="0">显示顺序</option>
                </select>
            </div>
            <div class="linkbutton" align="center">
                <input type="submit" name="add" id="add" value="新增" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                <input type="reset" name="reset" id="reset" value="重填" /> 
            </div>
    </form>
    </div>
    <div id="links">
    <c:forEach var="list" items="${flistinfolist}">
    <form id="form2" name="form2" method="post" action="F_ListServlet?action=UpdateF_List&id=${list.id}">
            <div class="link">
                 <label for="LinkName">法院名称:</label>
                 <input name="LinkName" type="text" id="LinkName" size="40" maxlength="50" value="${list.f_name}"/>
             </div>
             <div class="link">
                 <label for="LinkUrl">法院链接:</label>
                 <label for="LinkUrl"></label>
                 <input name="LinkUrl" type="text" id="LinkUrl" size="40" maxlength="50" value="${list.f_link}" />
             </div>
             <div class="link">
                 <label for="LinkSort">法院级别:</label>
                 <label for="textfield"></label>
                 <label for="linkSort"></label>
                 <select name="linkSort" id="linksort">
                       <option value="1">高级法院链接</option>
                       <option value="2">中级法院链接</option>
                       <option value="3">基层法院链接</option>
                 </select>
             </div>
             <div class="link">
                 <label for="LinkOrder">显示顺序:</label>
                 <label for="textfield"></label>
                  <label for="linkOrder"></label>
                 <select name="linkOrder" id="linkOrder">
                    <option>显示顺序</option>
                 </select>
             </div>
             <div class="linkbutton" align="center">
                 <input type="submit" name="edit" id="edit" value="修改" />
             </div>
    </form>
    </c:forEach>
    </div>
    这是全代码。
      

  8.   

    在jsp页面最头上加上<%@ page language="java" import="java.util.*",pageEncoding="utf-8"%>
    没有导入java.util.*,ArrayList是不可以用的。
      

  9.   

    <%@ page language="java" pageEncoding="UTF-8"%>
      

  10.   

    手误,pageEncoding前面没有逗号
      

  11.   


    层是显示了,,但是 <input name="LinkName" type="text" id="LinkName" size="40" maxlength="50" value="${f_listinfolist.f_name}"/>值认不着。。
      

  12.   

    报的错是:严重: Servlet.service() for servlet F_ListServlet threw exception
    java.lang.NumberFormatException: For input string: "f_name"
      

  13.   

    value的取值改成value="${list.f_name}"
      

  14.   

    value的取值改成value="${list.f_name}"有什么用?不一样的吗?
      

  15.   

    你下面那个页面取ArrayList取错了,少了一个下划线!
      

  16.   

    <div id="links">
    <c:forEach var="list" items="${flistinfolist}"><form id="form2" name="form2" method="post" action="F_ListServlet?action=UpdateF_List&id=${list.id}">
      <div class="link">
      <label for="LinkName">法院名称:</label>
      <input name="LinkName" type="text" id="LinkName" size="40" maxlength="50" value="${list.f_name}"/>
      </div>
      <div class="link">
    这个名字写错了吧!少了一个下划线!
      

  17.   

    我现在的代码是:request.setAttribute("f_listinfolist", f_listinfolist);
    jsp界面上的:<%
      @SuppressWarnings("unchecked")
      ArrayList<String> list = (ArrayList<String>)request.getAttribute("f_listinfolist");
    %>
    <input name="LinkName" type="text" id="LinkName" size="40" maxlength="50" value="${list.f_name}"/>
    也不报错,也没显示在编辑界面,我想是不是
    RequestDispatcher rd = request.getRequestDispatcher("../Admin/LinksManage.jsp");
    rd.forward(request, response);
    转发的时候清空了?
      

  18.   

    报的错是:严重: Servlet.service() for servlet F_ListServlet threw exception
    java.lang.NumberFormatException: For input string: "f_name"从错误来看是你的实体类里面没有这个字段
      

  19.   

    如果你在LinksManage.jsp里使用了list的话(request.getAttribute("***")),是不会清空的。我没用过<input>的value属性,我感觉这个属性应该是用来提交的,而不是显示的,你去掉<input>直接将值显示在页面上,看看list里面是不是有值。
      

  20.   

     
    <input > 可以显示啊 就是  显示----再修改值----再提交。
      

  21.   

    页面没错 是你在servlet中处理的时候报的问题吧