java - 支柱 : for each loop

标签 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}"/>
                 <html:option  value="${counter}">
                        <c:out value="${counter}"/>                  
                 </html:option>
            <s:set var="counter" value="${counter-1}"/>
     </s:iterator>
</html:select>

我试图在下拉列表中列出从当年到 YEAR : 2000 的所有年份。 但是我的下拉菜单是空的。

Action类代码:我用过

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

获取当前年份。

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 循环,那么您可以尝试使用 JSTL 核心标签库中的 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>  

关于java - 支柱 : for each loop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19891978/

相关文章:

java - 如何在 Parse 中使用多个查询约束

java - 如何安全地删除一个方法,如何知道它是否没有被反射使用?

java - 调用 Javascript 文件中的方法

java - Spring MVC Web应用程序-Model的正确使用

java - struts 1.0逻辑标签选择——if/else逻辑

Java Horner的多项式累加法

java - 如何知道从哪个类收到请求

java - 如何使用 Android 应用程序访问 MySQL 数据库?

java - Spring MVC 中的 Struts ActionMessages 相当于什么?

Java按顺序将数字插入数组