##############################################
##############################################     附:///////////////////////////////////////Worklist.jsp文件如下:<%@ page language="java" %>
<%@ taglib uri="/WEB-INF/c.tld" prefix="c" %>
<%@ taglib uri="/WEB-INF/fmt.tld" prefix="fmt" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-layout.tld" prefix="layout" %><%
//<jsp:useBean id="worklist" scope="session" class="java.util.Vector"/>-->
%>
<BODY><!--Variables du pager-->
<%--D閏alration de la variable g閞ant le num閞o de page des projet pour le "pager" --%>
<c:if test="${empty npprojet}">
<c:set var="npprojet" value="1" scope="session"/>
</c:if>
<%-- nombre de projet par page  --%>
<c:if test="${empty nbpro}">
<c:set var="nbpro" value="6" scope="session"/>
</c:if>
<table width="100%" border="0" cellpadding="0">
    <tr>
<td>
<b><bean:message key="index.product"/></b>
</td>
<c:choose>
<c:when test="${sessionScope.username != null}">
<td>
<td align="right"><font color="#009900"><I><c:out value="${sessionScope.username}"/></I></font></td>
</td>
</c:when>
<c:otherwise>
<td>
<td align="right" color="#FF0000"><b class="log"><bean:message key="product.notlogged"/></b></td>
</td>
</c:otherwise>
</c:choose></tr>
</table>
<hr align="left" width="100%" color="#993366" size="5"</hr><table align="center"><tr><td>
<table cellpadding="2" cellspacing="2" border="0" width="450" align="center" class="viewer">
  <tbody>
    <tr>
      <br>
      <td valign="Top"><b><u><bean:message key="activity.state"/></u></b><br>
      </td>
        
            <td valign="Top"><img src="../images/yellow_square.gif" alt="" width="12" height="10">
    </td>
            <td valign="Top"><bean:message key="activity.ready"/><br>
            </td>            <td valign="Top"><img src="../images/green_square.gif" alt="" width="12" height="10">
            </td>
            <td valign="Top"><bean:message key="activity.anticipable"/><br>
            </td>            <td valign="Top"><img src="../images/pink_square.gif" alt="" width="12" height="10">
            </td>
            <td valign="Top"><bean:message key="activity.anticipating"/><br>
            </td>            <td valign="Top"><img src="../images/red_square.gif" alt="" width="12" height="10">
            </td>
             <td valign="Top"><bean:message key="activity.executing"/><br>
            </td>
     
    </tr>
  </tbody>
</table>
</td></tr><tr><td>&nbsp;</td></tr>
<tr><td>
<table align="center" border="0" width="400" cellpadding="0" cellspacing="0">
<tr class="tableau">
<td class="projet"><bean:message key="worklist.project"/></td>
<td class="projet"><bean:message key="worklist.todolist"/></td>
<td class="projet"><bean:message key="worklist.activitylist"/></td>
</tr><tr><td>&nbsp;</td></tr>
<c:forEach items="${worklist}" var="work" varStatus="status" begin="${nbpro*npprojet-nbpro}" end="${nbpro*npprojet-1}">
   <c:forEach items="${work.projectName}" var="pro">
   <!--Iteration des projets-->      <tr><td> <a href="/product/protected/Action.jsp?projectname=<c:out value="${pro}"/>" class="viewer">
      <c:out value="${pro}"/></td></a>
      <c:set var="nbtodo" value="0" scope="session"/>
      <c:set var="nbactanti" value="0" scope="session"/>
      <c:set var="nbactexec" value="0" scope="session"/>
      <c:set var="lastactexec" value="0" scope="session"/>
      <c:set var="lastactanti" value="0" scope="session"/>
      <c:set var="lasttodoanti" value="0" scope="session"/>      <c:forEach items="${work.todoListReady}" var="todoready" varStatus="status">
      <!--Iteration des todolistReady-->
         <c:if test="${nbtodo!=0}">
               </tr><tr><td></td>
         </c:if>
            <td>
         <img src="../images/yellow_square.gif"/>
         <a href="/product/protected/Action.jsp?projectname=<c:out value="${pro}"/>&nodename=<c:out value="${todoready.name}"/>" class="viewer">
         <c:out value="${todoready.name}"/></a>
         <c:set var="nbtodo" value="${nbtodo + 1}" scope="session"/>
         </td>
         <!--Gestion des activity si il y en a-->
          <c:if test="${lastactexec==1}">
            <c:forEach items="${work.activityListAnti}" var="actAnti" varStatus="statusactanti" begin="${nbactanti}" end="${nbactanti}">
               <c:set var="nbactanti" value="${nbactanti+1}" scope="session"/>
               <td>
               <img src="../images/pink_square.gif"/>
               <a href="/product/protected/Action.jsp?projectname=<c:out value="${pro}"/>&nodename=<c:out value="${actAnti.name}"/>" class="viewer">
               <c:out value="${actAnti.name}"/></a>
               </td>
               <c:if test="${statusactanti.last}">
                  <c:set var="lastactanti" value="1" scope="session"/>
               </c:if>
            </c:forEach>
         </c:if>
         <c:forEach items="${work.activityListExec}" var="actexec"  varStatus="statusactexec" begin="${nbactexec}" end="${nbactexec}">
               <td>
               <img src="../images/red_square.gif"/>
               <a href="/product/protected/Action.jsp?projectname=<c:out value="${pro}"/>&nodename=<c:out value="${actexec.name}"/>" class="viewer">
               <c:out value="${actexec.name}"/></a>
               </td>
               <c:if test="${statusactexec.last}">
                  <c:set var="lastactexec" value="1" scope="session"/>              </c:if>
               <c:set var="nbactexec" value="${nbactexec+1}" scope="session"/>
         </c:forEach>
         <!--si il n'y a pas d'activity exec-->
         <c:if test="${nbactexec==0}">
            <c:forEach items="${work.activityListAnti}" var="actAnti" varStatus="statusactanti" begin="${nbactanti}" end="${nbactanti}">
               <c:set var="nbactanti" value="${nbactanti+1}" scope="session"/>
               <td>
               <img src="../images/pink_square.gif"/>
               <a href="/product/protected/Action.jsp?projectname=<c:out value="${pro}"/>&nodename=<c:out value="${actAnti.name}"/>" class="viewer">
               <c:out value="${actAnti.name}"/></a>
               </td>
               <c:if test="${statusactanti.last}">
                  <c:set var="lastactanti" value="1" scope="session"/>
               </c:if>
            </c:forEach>
         </c:if>
         </tr>
      </c:forEach>
           <!--Gestion des todolistanti-->
      <c:forEach items="${work.todoListAnti}" var="todoanti">
      <!--Si il y a d閖a eu au moins une todolist-->       
         <c:if test="${nbtodo!=0}">
            <tr><td></td><td>
         </c:if>
         <!--si il n'y a pas eu de todolist-->
         <c:if test="${nbtodo==0}">
            <c:set var="nbtodo" value="${nbtodo+1}" scope="session"/>
            <td>
         </c:if>
         <img src="../images/green_square.gif"/>
         <a href="/product/protected/Action.jsp?projectname=<c:out value="${pro}"/>&nodename=<c:out value="${todoanti.name}"/>" class="viewer">
         <c:out value="${todoanti.name}"/></a>
         </td>

解决方案 »

  1.   

    <!--Gestion des activity si il y en a-->
             <c:if test="${lastactexec==1}">
                <c:forEach items="${work.activityListAnti}" var="actAnti" varStatus="statusactanti" begin="${nbactanti}" end="${nbactanti}">
                   <c:set var="nbactanti" value="${nbactanti+1}" scope="session"/>
                   <td>
                   <img src="../images/pink_square.gif"/>
                   <a href="/product/protected/Action.jsp?projectname=<c:out value="${pro}"/>&nodename=<c:out value="${actAnti.name}"/>" class="viewer">
                   <c:out value="${actAnti.name}"/></a>
                   </td>
                   <c:if test="${statusactanti.last}">
                      <c:set var="lastactanti" value="1" scope="session"/>
                   </c:if>
                </c:forEach>
             </c:if>
             <c:forEach items="${work.activityListExec}" var="actexec"  varStatus="statusactexec" begin="${nbactexec}" end="${nbactexec}">
                <c:set var="nbactexec" value="${nbactexec+1}" scope="session"/>
                <td>
                <img src="../images/red_square.gif"/>
                <a href="/product/protected/Action.jsp?projectname=<c:out value="${pro}"/>&nodename=<c:out value="${actexec.name}"/>" class="viewer">
                <c:out value="${actexec.name}"/></a>
                </td>
                <c:if test="${statusactexec.last}">
                   <c:set var="lastactexec" value="1" scope="session"/>
                </c:if>
             </c:forEach>
             <!--si il n'y a pas d'activity exec-->
             <c:if test="${nbactexec==0}">
                <c:forEach items="${work.activityListAnti}" var="actAnti" varStatus="statusactanti" begin="${nbactanti}" end="${nbactanti}">
                   <c:set var="nbactanti" value="${nbactanti+1}" scope="session"/>
                   <td>
                   <img src="../images/pink_square.gif"/>
                   <a href="/product/protected/Action.jsp?projectname=<c:out value="${pro}"/>&nodename=<c:out value="${actAnti.name}"/>" class="viewer">
                   <c:out value="${actAnti.name}"/></a>
                   </td>
                   <c:if test="${statusactanti.last}">
                      <c:set var="lastactanti" value="1" scope="session"/>
                   </c:if>
                </c:forEach>
             </c:if> 
             </tr>
          </c:forEach>      <!--Affichage des activityExec restante-->
         
             <c:forEach items="${work.activityListExec}" var="actexec" begin="${nbactexec}">
                <c:if test="${nbactexec>=1 || nbactanti>=1 || nbtodo>=1}">
                   <tr><td></td>
                </c:if>
                <c:set var="nbactexec" value="${nbactexec+1}" scope="session"/>
                <td></td><td>
                <img src="../images/red_square.gif"/>
                <a href="/product/protected/Action.jsp?projectname=<c:out value="${pro}"/>&nodename=<c:out value="${actexec.name}"/>" class="viewer">
                <c:out value="${actexec.name}"/></a>
                </td></tr>
             </c:forEach>
               <!--Affichage des activityAnti restante-->
             <c:forEach items="${work.activityListAnti}" var="actanti" begin="${nbactanti}">
                <c:if test="${nbactexec>=1 || nbactanti>=1 || nbtodo>=1}">
                   <tr><td></td>
                </c:if>
                <c:set var="nbactanti" value="${nbactanti+1}" scope="session"/>
                <td></td><td>
                <img src="../images/pink_square.gif"/>
                <a href="/product/protected/Action.jsp?projectname=<c:out value="${pro}"/>&nodename=<c:out value="${actanti.name}"/>" class="viewer">
                <c:out value="${actanti.name}"/></a>
                </td></tr>
             </c:forEach>
     
       </c:forEach>
      
            <tr height="10"><td></td></tr>
            <tr bgcolor="#3333CC" height="2"><td></td><td></td><td></td>
            </tr><tr height="5"><td></td><td></td><td></td></tr>
    </c:forEach></table>
    </td></tr><tr><td>
    <!--Insertion du navigateur pour le pager-->
    <table align="center" cellspacing="5"><c:if test="${worklistSize!=0}">
       <div align="center">
       <c:if test="${npprojet>1}">
          <td> <a href="/product/protected/Firstpage.jsp" class="pager"><<</a></td>
          <td><a href="/product/protected/Prevpage.jsp" class="pager"><</a></td>
       </c:if>
       <td><bean:message key="pager.page"/>
       <c:out value="${npprojet}"/>
       /
      
       <!--Si la valeur de numpagemax n'a pas 閠?d閒inie -->
        <fmt:formatNumber var="projetmax" value="${worklistSize / nbpro +0.5}" type="number" maxFractionDigits="0" scope="session"/>
       <c:out value="${projetmax}"/>
    </td>
       <c:if test="${npprojet * nbpro < worklistSize }">
          <td><a href="/product/protected/Nextpage.jsp" class="pager">></a></td>
          <td><a href="/product/protected/Lastpage.jsp" class="pager">>></a></div></td>
       </c:if>
    </c:if>
    <c:if test="${worklistSize==0}">
       <p align="center"><bean:message key="pager.noproject"/></p>
    </c:if>
    </td></tr>
    </body>/////////////////////////////////////////////////Login.jsp文件如下:<%@ page language="java" %>
    <%@ taglib uri="/WEB-INF/c.tld" prefix="c" %>
    <%@ taglib uri="/WEB-INF/fmt.tld" prefix="fmt" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %><html>
      <head>
        <STYLE TYPE=text/css>.texte {font-face:Arial;font-size:10px;color:black }</STYLE>
        <link rel="stylesheet" href="/product/config/default.css" type="text/css">
      </head>
      <body>
    <table width="982" border="0" cellpadding="0">
    <td><b><bean:message key="bonita.loginpage"/></b></td>
    <%
    if ((pageContext.getSession()).getAttribute("username") != null)
    {
      String username = (pageContext.getSession()).getAttribute("username").toString();
    %>
    <font color="#009900"><I><%=username%></I></font><br>
    <%}else{%>
    <td align="right" color="#FF0000"><b class="log"><bean:message key="product.notlogged"/></b></td>
    <%}%>
    </table>
    <hr align="left" width="982" color="#993366" size="5"</hr><br>
    <br>
      <table class="login" border="0" align="center">
      <form method="POST" action="j_security_check">
    <tr>
             <td>
              <bean:message key="prompt.username"/>
             </td>
             <td>
       <input type="text" name="j_username"/>
    </td>
    </tr>
    <tr>
    <td>
    <bean:message key="prompt.password"/>
    </td>
    <td>
    <input type="password" name="j_password"/>
    </td>
    </tr>
    <tr>
    <td>
    <input type="submit" value="Submit" name="j_security_check">
    </td>
    </tr>
    <tr>
    <td>
    <a href="/product/login/UserLayout.jsp"><bean:message key="prompt.newaccount"/></a>
    </td>
    </tr>
    </form>
       </table>
      </body>
    </html>
      

  2.   

    在struts-config.xml中找login.jsp然后再在程序中找forward到这里的那个name。。然后就找到了。
      

  3.   

    <definition name="worklistDef" path="/protected/WorklistLayout.jsp">
            <put name="body" value="/protected/Worklist.jsp"/>
            <put name="header" value="/protected/Header.jsp"/>
        </definition>注意,这里的Body部分包含的网页是可以更改的,并不只是限定为WorkList.jsp我估计是在WorkListLayout.jsp里面有更改body部分页面的代码,恰好这个文件你没贴出源代码,自己去好好看看,应该能找到答案,编程中没有什么神奇或奇怪的事情,要么是自己不够仔细,要么是自己有些地方不懂,大家共同努力
      

  4.   

    “ylymail(李易)”,你好!!!你这么一说,倒真点到了我的疑点,下面是WorklistLayout.jsp文件,这里有个<tiles:insert name="sidebar"/>,
    但<definition name="worklistDef" path="/protected/WorklistLayout.jsp">
            <put name="body" value="/protected/Worklist.jsp"/>
            <put name="header" value="/protected/Header.jsp"/>
        </definition>
    在这个tile的定义里没sidebar这个东西,怎么回事?另外你说的“WorkListLayout.jsp里面有更改body部分页面的代码”这里怎么体现?
    谢谢谢谢!!!
    <%@ taglib uri="/WEB-INF/tiles.tld" prefix="tiles" %><%@ page language="java" %>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
    <%@ taglib uri="/WEB-INF/struts-layout.tld" prefix="layout" %><% response.setHeader("Cache-Control","no-store"); //HTTP 1.1 %>
    <head>
      <link style="test/css" rel="stylesheet" href="/product/config/default.css">
    </head>
    <html>
      <body>
    <table cellpadding="2" cellspacing="2" border="0">
        <tbody>
          <tr><td align="left">
             <tiles:insert attribute="header" /> </TD>
          </td></tr>
      </table>  <table cellpadding="2" cellspacing="2" border="0" width="800">
        <tbody>
          <tr>
            <td valign="Top">
               <table cellpadding="2" cellspacing="2" border="0" width="100%">
                 <tbody>
                   <tr>
                    <td valign="Top"><br>
                       <tiles:insert name="sidebar"/>
                    </td>
                   </tr>
                 </tbody>
               </table>
       </td>     
            <td valign="Top"><br>
              <tiles:insert name="body"/>
            </td>         
          </tr>
        </tbody>
       </table>
      </body>
    </html>
      
     
     
     
      

  5.   

    楼主,你的方式太复杂了!
    用jsp的session对象解决这个问题是最简单也是最常用的方式。
      

  6.   

    to “ AHUA1001(99) ”,你好,这个程序不是我自己写的,是网上下载的一个程序啊,我只是从登陆模块开始看啊,但看这里就碰到问题了埃 555~~~
      

  7.   

    “这里的Body部分包含的网页是可以更改的,并不只是限定为WorkList.jsp我估计是在WorkListLayout.jsp里面有更改body部分页面的代码”---哪位给我讲讲这个吗?!!thx啊
      

  8.   

    中秋了,祝大家中秋快乐!!有灭有大虾还在csdn的,帮小弟解决这个问题~~~
      

  9.   

    不爽,这么个鸟问题一直没解决,明天买本jbuilder,重新建工程,把整个程序用jbuilder重新“创建”,然后单步跟踪调试,偶就不信这点东西会难倒我,nnd