Apache Struts Web框架是一个免费的开源解决方案,用于创建Java Web应用程序。 Struts框架旨在帮助开发人员创建利用MVC架构的Web应用程序。
我在 Struts 1 表单上有一些单选按钮: 我在 Struts 1 表单上有一些单选按钮: <input type="radio" name="productId" value="31415" /> <input type="radio" name="productId" value="31416" /> 然后在 Action 类中我可以很好地从表单中获取值。例如,如果我选择第一个单选按钮,则 myForm.getProductId() 返回 31415。 问题: Struts 1 中是否有一种方法可以告诉通过索引选择哪个输入字段,同时保留当前功能? (在最坏的情况下我知道我可以创建一个新的隐藏字段,其中包含所选的单选按钮并从 JavaScript 更新该字段,但我也想避免这种方式。) 说明: 单选按钮是基于集合创建的,但由于某种原因,集合的元素有时没有产品 ID,因此如果有多个这样的元素,那么我无法判断选择了哪个单选按钮。但我想知道即使在这些情况下,如何提高系统的容错能力。 (我对集合中的元素没有权力,它们来自网络服务。) 您可以使用索引属性作为输入字段的索引名称。 对于索引属性,BeanUtils.populate() 使用请求参数的名称来确定调用正确的 setter 方法 ActionForm 使用索引名称 <input type="radio" name="productId[0]" value="31415" /> <input type="radio" name="productId[1]" value="31416" /> 定义索引属性 private String[] productId; public String getProductId(int index) { return productId[index]; } public void setProductId(int index, String productId) { productId[index] = productId; } public String[] getProductId( ) { return productId; }
<html:checkbox> 和 <s:checkbox> 的行为不同
我正在将复选框从 Struts 1 迁移到 Struts 2, 所以我改变了Struts 1的代码 到 &...
以前缀“logic”导入的标签库中没有定义标签“iterator”
错误:javax.servlet.ServletException:org.apache.jasper.JasperException:/ArrayList.jsp(9,2)在使用前缀“logic”导入的标签库中没有定义标签“iterator” org.apache.
如何在Struts 1中同时使用validate()和validation.xml?
我正在使用Struts 1.x 的验证框架,并在validation.xml 中声明了一些验证规则。 我需要一些更复杂的验证,所以我还重写了其中的 validate() 方法...
如何从 Struts 1 中的操作 URL 中删除“.do”扩展名?
我在 Struts 1 框架中编写了一个 Web 应用程序。一切正常,但在表单提交时,当用户转发到下一页时,显示的 URL 是 actionname.do。我不想...
如何从 Struts 1 中的 URL 中删除“.do”前缀?
我在 Struts 1 框架中编写了一个 Web 应用程序。一切正常,但在表单提交时,当用户转发到下一页时,显示的 URL 是 actionname.do。我不想...
如何删除警告:Struts 2 标签中未定义的属性名称 []?
目前我们正在将 Struts 1 应用程序迁移到 Struts 2。将 JSP 标签更改为 Struts 2 时,我们在 Struts 1 中为 标签添加了属性 自动完成=\"关闭" ...
我是新的Java Struts框架。但我想问一个问题。 在struts-config.xml中,路径是.do,如“/AddReq.do”,或者路径只是名称,如“AddReq”? 有什么区别...
使用<c:forEach>填充Struts中<html:select>标签的选项
我正在尝试使用 标签在 标签中循环。 我正在尝试使用 <c:forEach> 标签在 <html:select> 标签中循环。 <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 标签。 <%@ taglib prefix="html" uri="http://struts.apache.org/tags-html" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <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 中运行以下代码并收到错误: <%@page contentType="text/html" pageEncoding="UTF-8"%> 我尝试在 Struts 中运行以下代码并收到错误: <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <jsp:include page="/Shop_login.jsp"></jsp:include> <head>Welcome To My shop application </head> <body> User Name:<html:input text="first_name"> </html:input> Password:<html:password text="password"> </html:password> </body> </html> 输出为: Welcome To My shop application User Name: Password: Welcome To My shop application User Name: Password: Welcome To My shop application User Name: Password: Welcome To My shop application User Name: Password: ... 如果您使用 JSTL,您也可以在 JSP 中拥有这些标记库 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="html" uri="http://struts.apache.org/tags-html" %> <%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean" %> <%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic" %> 文件中没有更多内容,只有这些代码片段 然后使用 <%@ include file="/tags/taglibs.jsp" %> 在页面顶部,您可以使用定义下方的标签。 例如,您可以将其他 JSP 片段包含在 JSTL 中 <c:import url="/pages/page.jsp"/> 或使用 JSP 指令 <jsp:include page="/pages/page.jsp"/> 并且不要在其内部使用相同的片段,它可能会导致从代码编译的 servlet 中出现递归调用。
我尝试在 Struts 中运行以下代码并收到错误: <%@page contentType="text/html" pageEncoding="UTF-8"%> 我尝试在 Struts 中运行以下代码并收到错误: <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <jsp:include page="/Shop_login.jsp"></jsp:include> <head>Welcome To My shop application </head> <body> User Name:<html:input text="first_name"> </html:input> Password:<html:password text="password"> </html:password> </body> </html> 输出为: Welcome To My shop application User Name: Password: Welcome To My shop application User Name: Password: Welcome To My shop application User Name: Password: Welcome To My shop application User Name: Password: ... 如果您使用 JSTL,您也可以在 JSP 中拥有这些标记库 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="html" uri="http://struts.apache.org/tags-html" %> <%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean" %> <%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic" %> 文件中没有更多内容,只有这些代码片段 然后使用 <%@ include file="/tags/taglibs.jsp" %> 在页面顶部,您可以使用定义下方的标签。 例如,您可以将其他 JSP 片段包含在 JSTL 中 <c:import url="/pages/page.jsp"/> 或使用 JSP 指令 <jsp:include page="/pages/page.jsp"/> 并且不要在其内部使用相同的片段,它可能会导致从代码编译的 servlet 中出现递归调用。
我尝试在 Struts 中运行以下代码并收到错误: <%@page contentType="text/html" pageEncoding="UTF-8"%> 我尝试在 Struts 中运行以下代码并收到错误: <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <jsp:include page="/Shop_login.jsp"></jsp:include> <head>Welcome To My shop application </head> <body> User Name:<html:input text="first_name"> </html:input> Password:<html:password text="password"> </html:password> </body> </html> 输出为: Welcome To My shop application User Name: Password: Welcome To My shop application User Name: Password: Welcome To My shop application User Name: Password: Welcome To My shop application User Name: Password: ... 如果您使用 JSTL,您也可以在 JSP 中拥有这些标记库 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ taglib prefix="html" uri="http://struts.apache.org/tags-html" %> <%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean" %> <%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic" %> 文件中没有更多内容,只有这些代码片段 然后使用 <%@ include file="/tags/taglibs.jsp" %> 在页面顶部,您可以使用定义下方的标签。 例如,您可以将其他 JSP 片段包含在 JSTL 中 <c:import url="/pages/page.jsp"/> 或使用 JSP 指令 <jsp:include page="/pages/page.jsp"/> 并且不要在其内部使用相同的片段,它可能会导致从代码编译的 servlet 中出现递归调用。
我已经浏览了同样问题的答案,但是Struts中没有任何默认方法来防止重新提交吗?另外,就我而言,如果我重置表单字段,它仍然会保存旧值(但是......
我现在正在使用 JSP,但我在使用 Bean 时遇到了一些问题。 我有这样的消息: javax.servlet.jsp.JspException:无法在名称段下找到 bean 支柱配置: 我现在正在使用 JSP,但我在使用 Bean 时遇到了一些问题。 我有这样的消息: javax.servlet.jsp.JspException: Cannot find bean under name segments Struts 配置: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts-config SYSTEM "dtds/struts-config_1_3.dtd"> <struts-config> <form-beans> <form-bean name="loginForm" type="com.un23.security.filters.LoginForm"/> <form-bean name="codeForm" type="com.alodiga.sisac.plans.action.code.CodeForm"/> <form-bean name="costListForm" type="com.alodiga.sisac.plans.action.costList.CostListForm" /> <form-bean name="didRentForm" type="com.alodiga.sisac.plans.action.didRent.DidRentForm"/> <form-bean name="discountForm" type="com.alodiga.sisac.plans.action.discount.DiscountForm"/> <form-bean name="dnForm" type="com.alodiga.sisac.plans.action.dn.DnForm"/> <form-bean name="favoriteCountryForm" type="com.alodiga.sisac.plans.action.favoriteCountry.FavoriteCountryForm"/> <form-bean name="importCostListForm" type="com.alodiga.sisac.plans.action.costList.ImportCostListForm" /> <form-bean name="importDidForm" type="com.sg123.actions.did.ImportDidForm"/> <form-bean name="importDidRentForm" type="com.alodiga.sisac.plans.action.didRent.ImportDidRentForm"/> <form-bean name="importDnForm" type="com.alodiga.sisac.plans.action.dn.ImportDnForm"/> <form-bean name="importEquipmentInstanceForm" type="com.sg123.actions.equipmentInstance.ImportEquipmentInstanceForm"/> <form-bean name="importFavoriteCountryForm" type="com.alodiga.sisac.plans.action.favoriteCountry.ImportFavoriteCountryForm"/> <form-bean name="importTerminationPriceListForm" type="com.alodiga.sisac.plans.action.terminationPriceList.ImportTerminationPriceListForm" /> <form-bean name="importOriginationPriceListForm" type="com.alodiga.sisac.plans.action.originationPriceList.ImportOriginationPriceListForm" /> <form-bean name="originationPriceListForm" type="com.alodiga.sisac.plans.action.originationPriceList.OriginationPriceListForm" /> <form-bean name="planForm" type="com.alodiga.sisac.plans.action.plan.PlanForm" /> <form-bean name="priceListId" type="com.alodiga.sisac.plans.action.originationPriceListAction.priceListId" /> <form-bean name="promotionForm" type="com.alodiga.sisac.plans.action.promotion.PromotionForm"/> <form-bean name="terminationPriceListForm" type="com.alodiga.sisac.plans.action.terminationPriceList.TerminationPriceListForm" /> <form-bean name="terminationPriceForm" type="com.alodiga.sisac.plans.action.terminationPriceList.TerminationPriceForm" /> <form-bean name="scheduleForm" type="com.alodiga.sisac.plans.action.schedule.ScheduleForm"/> <form-bean name="serviceEquipmentModelForm" type="com.alodiga.sisac.plans.action.serviceEquipmentModel.ServiceEquipmentModelForm"/> <form-bean name="serviceRentForm" type="com.alodiga.sisac.plans.action.serviceRent.ServiceRentForm"/> <form-bean name="enterprises" type="com.alodiga.sisac.plans.action.didRent.ListDidRent"/> </form-beans> <global-exceptions> </global-exceptions> <global-forwards> <forward name="welcome" path="/Welcome.do"/> <!-- Linea agregada por el enterprises --> <forward name="enterprises" path="/ListDidRent.do"/> </global-forwards> <action-mappings> <action path="/Login" type="com.un23.security.filters.Authenticator" name="loginForm" validate="true" input="/login.jsp" > <forward name="success" path="/welcome.jsp" /> <forward name="error" path="/WEB-INF/pages/general/generalError.jsp" /> </action> <action path="/Welcome" forward="/welcome.jsp"/> <action path="/*/List*" type="com.alodiga.sisac.plans.action.{1}.List{2}Action" name="{1}Form" scope="request" input="/WEB-INF/pages/{1}/list{2}.jsp"> <forward name="success" path="/WEB-INF/pages/{1}/list{2}.jsp" /> <forward name="error" path="/WEB-INF/pages/general/generalError.jsp" /> </action> <action path="/*/Add*" type="com.alodiga.sisac.plans.action.{1}.Add{2}Action"> <forward name="success" path="/WEB-INF/pages/{1}/add{2}.jsp" /> <forward name="error" path="/WEB-INF/pages/general/generalError.jsp" /> </action> <action path="/*/View*" type="com.alodiga.sisac.plans.action.{1}.View{2}Action"> <forward name="success" path="/WEB-INF/pages/{1}/view{2}.jsp" /> <forward name="error" path="/WEB-INF/pages/general/generalError.jsp" /> </action> <action path="/*/Export*" type="com.alodiga.sisac.plans.action.{1}.Export{2}Action" name="listForm" scope="request" input="/WEB-INF/pages/{1}/export{2}.jsp"> <forward name="success" path="/{1}/List{2}.do" /> <forward name="error" path="/{1}/List{2}.do" /> </action> <action path="/*/Import*" type="com.alodiga.sisac.plans.action.{1}.Import{2}Action"> <forward name="success" path="/WEB-INF/pages/{1}/import{2}.jsp" /> <forward name="error" path="/WEB-INF/pages/{1}/import{2}.jsp" /> </action> <action path="/*/Edit*" type="com.alodiga.sisac.plans.action.{1}.Edit{2}Action"> <forward name="success" path="/WEB-INF/pages/{1}/edit{2}.jsp" /> <forward name="error" path="/WEB-INF/pages/general/generalError.jsp" /> <forward name="error2" path="/{1}/List{2}.do" /> </action> <action path="/*/SaveAdd*" type="com.alodiga.sisac.plans.action.{1}.Save{2}Action" name="{1}Form" scope="session" input="/WEB-INF/pages/{1}/add{2}.jsp"> <forward name="success" path="/{1}/List{2}.do" /> <forward name="error" path="/WEB-INF/pages/general/generalError.jsp" /> <forward name="error2" path="/{1}/Add{2}.do" /> <forward name="jsp" path="/WEB-INF/pages/{1}/add{2}.jsp" /> <forward name="jspEdit" path="/WEB-INF/pages/{1}/edit{2}.jsp" /> <forward name="edit" path="/{1}/Edit{2}.do" /> </action> <action path="/*/SaveEdit*" type="com.alodiga.sisac.plans.action.{1}.Save{2}Action" name="{1}Form" scope="session" input="/WEB-INF/pages/{1}/edit{2}.jsp"> <forward name="success" path="/{1}/List{2}.do" /> <forward name="error" path="/WEB-INF/pages/general/generalError.jsp" /> <forward name="edit" path="/{1}/Edit{2}.do" /> </action> <action path="/*/SaveImport*" type="com.alodiga.sisac.plans.action.{1}.SaveImport{2}Action" name="import{2}Form" scope="session" input="/WEB-INF/pages/{1}/edit{2}.jsp"> <forward name="success" path="/{1}/List{2}.do" /> <forward name="error" path="/WEB-INF/pages/{1}/import{2}.jsp" /> <forward name="fail" path="/{1}/Import{2}.do" /> </action> <action path="/*/Finalize*" type="com.alodiga.sisac.plans.action.{1}.Finalize{2}Action" scope="session" input="/WEB-INF/pages/{1}/list{2}.jsp"> <forward name="success" path="/{1}/List{2}.do" /> <forward name="error" path="/WEB-INF/pages/general/generalError.jsp" /> </action> <action path="/*/Delete*" type="com.alodiga.sisac.plans.actions.{1}.Batch{2}Action" name="listForm" scope="request" input="/WEB-INF/pages/{1}/list{2}.jsp"> <forward name="success" path="/{1}/List{2}.do" /> <forward name="error" path="/{1}/List{2}.do" /> </action> <action path="/*/Enable*" type="com.alodiga.sisac.plans.action.{1}.Batch{2}Action" name="listForm" scope="request" input="/WEB-INF/pages/{1}/list{2}.jsp"> <forward name="success" path="/{1}/List{2}.do" /> <forward name="error" path="/{1}/List{2}.do" /> </action> <action path="/*/Disable*" type="com.alodiga.sisac.plans.action.{1}.Batch{2}Action" name="listForm" scope="request" input="/WEB-INF/pages/{1}/list{2}.jsp"> <forward name="success" path="/{1}/List{2}.do" /> <forward name="error" path="/{1}/List{2}.do" /> </action> <action path="/reloadCache/ReloadCache" type="com.alodiga.sisac.plans.action.reloadCache.ReloadCacheAction" scope="request" input="/WEB-INF/pages/reloadCache/reloadCache.jsp"> <forward name="success" path="/WEB-INF/pages/reloadCache/reloadCache.jsp" /> <forward name="error" path="/WEB-INF/pages/reloadCache/reloadCache.jsp" /> </action> <action name="planForm" path="/*/ChangePlanAsDefault" scope="request" type="com.alodiga.sisac.plans.action.plan.ChangePlanAsDefaultAction"> <forward name="success" path="/plan/ListPlan.do" /> <forward name="error" path="/plan/ListPlan.do" /> </action> </action-mappings> <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor"/> <message-resources parameter=""/> <plug-in className="org.apache.struts.tiles.TilesPlugin" > <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml" /> <set-property property="moduleAware" value="true" /> </plug-in> <!-- ========================= Validator plugin ================================= --> <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/> </plug-in> </struts-config> 我的JSP: <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%> <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%> <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%> <%@ taglib uri="http://displaytag.sf.net" prefix="display"%> <tiles:insert page="/WEB-INF/layouts/rightLayout.jsp"> <tiles:put name="html-headers" type="String"> <script type="text/javascript" src="<%= request.getContextPath()%>/js/ajax/utilsPlan.js"></script> </tiles:put> <tiles:put name="body" type="String"> <div id="contenido"> <div class="ruta"> <p><a target="_parent" href="<%= request.getContextPath()%>/Welcome.do">Módulo de Planes</a> > Números de Acceso</p> </div> <p> </p> <table width="31%" border="0" cellpadding="0" cellspacing="1" class="tbltitcat"> <tr> <td width="40%" class="tdtitcat">Números de Acceso</td> </tr> </table> <logic:present name="errorMsgs"><div class="menserror"><bean:write name="errorMsgs" /></div></logic:present> <logic:present name="successMsgs"><div class="mensexito"><bean:write name="successMsgs" /></div></logic:present> <logic:present name="infoMsgs"><div class="mensinfo"><bean:write name="infoMsgs" /></div></logic:present> <html:form action="/dn/SaveImportDn" styleId="dnForm" method="POST" enctype="multipart/form-data"> <table width="100%" border="0" cellspacing="1" cellpadding="0"> <tr> <td class="tdtit">Empresa</td> <td> <html:select styleId="enterpriseId" property="enterpriseId" styleClass="inputcampotxt" onchange="showSegments();"> <html:options collection="enterprises" property="id" labelProperty="name" /> </html:select> </td> </tr> <tr> <td width="30%" class="tdtit">Segmento</td> <td> <div id="segmentsDiv"> <html:select styleId="segmentId" property="segmentId" styleClass="inputcampotxt" onchange="showServicesBySegment();"> <html:options collection="segments" property="id" labelProperty="name"/> </html:select> </div> <span class="menstxterror"><html:errors property="segmentId" /></span> </td> </tr> <tr> <td class="tdtit">Servicio</td> <td> <div id="servicesDiv"> <html:select styleId="serviceId" property="serviceId" styleClass="inputcampotxt"> <html:options collection="services" property="id" labelProperty="name"/> </html:select> </div> </td> </tr> <tr> <td width="30%" class="tdtit">Archivo Excel *</td> <td><html:file property="xlsFile" styleClass="inputcampotxt" size="40" /></td> </tr> <tr> <td colspan="2"> <input name="segments" type="submit" class="button" alt="boton" value="Aceptar"/></td> </tr> </table> </html:form> </div> <div class="contenidofin"> </div> </tiles:put> </tiles:insert> 在 JSP 页面的任何范围内都找不到 segments 的值。可能是您在从操作返回此 JSP 之前忘记初始化该值,或者您直接访问 JSP,或者您遇到验证错误并将此 JSP 配置为 input。在最后一种情况下,您应该在表单的 validate() 方法中初始化集合。 还有另一种方式通过 html:select 为 html:optionsCollection 提供选项。 <html:optionsCollection property="segments" label="name" value="id" />
<html:multibox> Struts 2 中的等效项
下面是html标签multibox,我想将其迁移到struts 2 ...
我需要在 Struts 1.3.10 + Tomcat 中进行基于表单的身份验证 根据我的理解,一旦提交登录凭据,容器将与 tomcat-users.xml 和 bas 交叉检查凭据...
我写了一些在Struts 2中实现Struts 1功能的方法 Struts 1 ActionForward: new ActionForward("/home/ShowPage.do?page=edit",true); 我在 Struts 2 中也做了同样的事情: 公共字符串
如何在 Struts 1.3 中验证 html:options 集合?
以下树形图包含我传递的数据库中的所有值 MaptreeMap = new TreeMap(map); 迭代器mapIterator = mapSet.iterator();
我已经在网上搜索了几个小时,但在 Struts 中找不到一个简单问题的答案。基本上,我在 Struts 1 中有以下操作,这是一个简单的转发,我想重现...
我正在尝试使用 属性将多个参数传递给我的 Struts 操作类。 我有一个链接,它应该将两个参数从 JSP 页面传递到我的操作类。 如何应对...