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>