Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Struts:对于每个循环_Java_Jsp_Struts_Jstl_Struts 1 - Fatal编程技术网

Java Struts:对于每个循环

Java Struts:对于每个循环,java,jsp,struts,jstl,struts-1,Java,Jsp,Struts,Jstl,Struts 1,我试图在Select标记中使用foreach循环 <html:select property="year" > <s:iterator var="i" begin="${1}" end="${monthlyChargeForm.currentYear - 2000}" > <s:set var="counter" value="${monthlyChargeForm.currentYear}"/>

我试图在
Select
标记中使用
foreach
循环

<html:select property="year" >

   <s:iterator var="i" begin="${1}" end="${monthlyChargeForm.currentYear - 2000}" >
            <s:set var="counter" value="${monthlyChargeForm.currentYear}"/>
                 <html:option  value="${counter}">
                        <c:out value="${counter}"/>                  
                 </html:option>
            <s:set var="counter" value="${counter-1}"/>
     </s:iterator>
</html:select>
以获取当前年度

public class MonthlyChargeAction extends Action {

 private ActionMessages messages;

 public ActionForward execute(ActionMapping mapping, ActionForm form,  
                             HttpServletRequest request,HttpServletResponse response)        
   throws Exception {
    ServletContext context = getServlet().getServletContext();
    BACUtils bacUtils = new  BACUtils();
    String sessionStatus = HtmlBean.isSessionOut(request.getSession(false), context);
    if(!Constants.SUCCESS_STATUS.equals(sessionStatus)) {
        return mapping.findForward("sessionOut");
    }
    String accesssStatus = HtmlBean.isSessionValid(request.getSession(false), context,  
                                                  Properties.ACCESS_PROFILE[8][0]);
    if(!Constants.SUCCESS_STATUS.equals(accesssStatus)) {
        return mapping.findForward("sessionOut");
    }
    MonthlyChargeForm monthlyChargeForm = (MonthlyChargeForm)form;
    Reports reports = new  Reports();
    String sUser =(String) request.getSession().getAttribute("USERID");
    String returnVal = "";
    int i = 0;
    try {
            monthlyChargeForm.setFromDate(bacUtils.getDate());
            monthlyChargeForm.setToDate(bacUtils.getDate());


            Calendar now = Calendar.getInstance();

            String fromDate = monthlyChargeForm.getFromDate();
            String toDate = monthlyChargeForm.getToDate();
            String curentDate = bacUtils.getDate();

            monthlyChargeForm.setCurrentYear(now.get(Calendar.YEAR) );

            System.out.println("Current Year :::::::::" +  

                                                 monthlyChargeForm.getCurrentYear());

            AuditTrial.insertLog(5,sUser,null,"General Reports Module Loaded 
                                                        Successfully",(String) 
  request.getSession().getAttribute("OPER_TYPE"),"S",request.getRemoteAddr(),context);
            if(monthlyChargeForm.getPageIndex() == null ||
                    monthlyChargeForm.getPageIndex().trim().length() == 0)
                    monthlyChargeForm.setPageIndex(Integer.toString(BACUtils.getIntVal(
                            monthlyChargeForm.getPageIndex())));

                     if(monthlyChargeForm.getMonth()!=null &&        
                                            monthlyChargeForm.getYear()!=null )
                     {
                monthlyChargeForm.setMonthlyChargeReport(
                        reports.getMonthlyChargeData(monthlyChargeForm, 10, context));
                     }


    } catch (Exception e) {
        e.printStackTrace();
    }
    System.out.println(Constants.SUCCESS_MAPPING);
    return mapping.findForward(Constants.SUCCESS_MAPPING);
   }

如果您试图使用foreach循环,那么您可以尝试使用jstlcoretaglib中的
foreach
标记

<html:select property="year" >
   <c:forEach varStatus="i" begin="${monthlyChargeForm.currentYear}" end="2000" step="-1">
     <html:option  value="${i.index}">
       <c:out value="${i.index}"/>                  
     </html:option>
   </c:forEach>
</html:select>  


请分享您的操作类代码……您使用的是哪个版本的Struts?Struts2没有
html
命名空间,Struts1没有
s
命名空间。使用了操作类代码。该操作是否有表单bean?@user2761566看起来您随机混合了S1和S2中的标记库。只使用Struts 1标记,因为您使用的是Struts 1。
<html:select property="year" >
   <c:forEach varStatus="i" begin="${monthlyChargeForm.currentYear}" end="2000" step="-1">
     <html:option  value="${i.index}">
       <c:out value="${i.index}"/>                  
     </html:option>
   </c:forEach>
</html:select>