Apache Struts Web框架是一个免费的开源解决方案,用于创建Java Web应用程序。
为什么 SessionAware 在 Struts 2 中注入 SessionMap 而不是 HttpSession?
我已经使用 Struts 2 很长时间了。 如果为我们的操作类实现 SessionAware 接口,我们将获得 SessionMap,但不是 HttpSession 对象。 如果是 ServletRequestA...
如何在 Struts 2 中拥有一个包含对象 id 的 URL,然后将其传递给一个操作以通过该 id 显示该对象? 例如。 URL 是 /users/1,它显示了一个用户对象,其中有 t...
如何在 Jive 中从 FTL 设置 Java bean 的值?
我是 Jive 和 Freemarker 的新手。 我尝试了以下方法,就像我们在 Struts 中所做的那样: 我是 Jive 和 Freemarker 的新手。 我尝试了以下方法,就像我们在 Struts 中所做的那样: <input size=40 name="bvProperties.fileBasedQueueLocation" type="text" value="${badgeVilleProperties.fileBasedQueueLocation!''}" style="float: right;"/> 需要将 fileBasedQueueLocation 变量的值设置为 bvProperties bean,该值在操作中可用。 我还创建了一个 setter,以及 bvProperties 的 getter 方法。 您应该尝试的语法: <input size=40 name="bvProperties.fileBasedQueueLocation" type="text" value="${(badgeVilleProperties.fileBasedQueueLocation)!}" style="float: right;"/>
我尝试在 Struts 1 中运行以下代码并收到错误: <%@page contentType="text/html" pageEncoding="UTF-8"%> 我尝试在 Struts 1 中运行以下代码并收到错误: <%@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 中出现递归调用。
使用 <c:forEach> 填充 Struts 1 中 <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 1 中刷新时重新提交表单? [重复]
我已经浏览了同样问题的答案,但是Struts中没有任何默认方法来防止重新提交吗?另外,就我而言,如果我重置表单字段,它仍然会保存旧值......
form bean 采用更新后的值,但在 JSP 中它在 Struts 1 中保留旧数据
我在 Struts 1 中有一个操作,它使用输入数据和对象的选择选项转发到 JSP。我希望,当我更改选择选项时,同一 JSP 中的日期也会更改。我跟随...
调试显示已更新 formBean,但 Struts 1 中 JSP 未更新
我在 Struts 1 中有一个操作,它使用输入数据和对象的选择选项转发到 JSP。我希望,当我更改选择选项时,同一 JSP 中的日期也会更改。我跟随...
我在中定义了以下内容 struts-config.xml: 我在中定义了以下内容 struts-config.xml: <struts-config> <form-beans> <form-bean name="LoginForm" type="com.actionform.LoginForm"/> </form-beans> <action-mappings> <!-- action for login --> <action input="/views/login.jsp" name="LoginForm" path="/Login" scope="session" type="com.actions.LoginAction" parameter="method" validate="true"> <forward name="success" path="/views/Frameset.html" /> </action> </action-mappings> <message-resources parameter="/WEB-INF/ApplicationResources"/> <!-- ========================= 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> 登录表单: public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { ActionErrors errors = new ActionErrors(); if (userName == null || userName.length() < 1) { System.out.println("in validate ---"); errors.add("userName", new ActionMessage("error.userName.required")); // TODO: add 'error.name.required' key to your resources } if (password == null || password.length() < 1) { errors.add("password", new ActionMessage("error.password.required")); // TODO: add 'error.name.required' key to your resources } return errors; } login.jsp: <html:form action="/Login?method=loginUser"> <html:errors/> <html:text name="LoginForm" property="userName" /> <html:messages id="err_userName" property="userName"> <bean:write name="err_userName" /> </html:messages> </html:form> 房产档案: error.userName.required = User Name is required. error.password.required = Password is required. 我哪里做错了?我收到以下错误 javax.servlet.jsp.JspException:无法在任何范围内找到 bean 错误 我只想在同一个JSP中显示错误。 获得包含要在输入页面中显示的消息或错误的 ActionMessages/ActionErrors 对象(使用 <html:messages> 标签或 <html:errors> 标签)后,您必须从您的应用程序调用以下方法之一: Action 对象将验证结果放入范围内: addMessages(HttpServletRequest request, ActionMessages messages) 或 addErrors(HttpServletRequest request, ActionMessages errors) 你在这样做吗? 我真的不关心struts如何处理异常。通常在覆盖 RequestProcesor 时使用 1.2 中的旧原始代码,我可能应该替换这两种方法 - process 和 processException。第一件事是在 processValidation 发出后捕获请求中的异常。代码片段可能看起来像 Exception exception = null; if (needValidation) try { if (! processValidate(request, response, form, mapping)) { return; } exception = (Exception)request.getAttribute(Globals.EXCEPTION_KEY); } catch (InvalidCancelException ex) { exception = ex; } ActionForward forward; // Check out if exception occurred if (exception != null){ forward = processException(request, response, exception, form, mapping); 如果您已经配置了错误转发,那么第二个就非常简单了。错误转发通常是从映射中容易找到的全局转发之一。一旦找到,它就会在页面上显示您的错误消息。我认为这些可能足以处理异常 exception.printStackTrace(); log.error(exception); request.setAttribute("error", exception.getMessage()); return mapping.findForward("error"); 它已经完成,因为 ActionForm 或 ValidatorForm 的验证方法不会引发任何异常,并且我无法在不引发异常的情况下正确重写此方法。一旦扔了,谁会在乎?!
我现在正在使用 JSP,但我的 bean 有一些问题。 我有这样的消息: javax.servlet.jsp.JspException:无法在名称段下找到 bean 支柱配置: 我现在正在使用 JSP,但我在使用 Bean 时遇到了一些问题。 我有这样的消息: javax.servlet.jsp.JspException:无法在名称段下找到 bean 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" />
如何在 Struts 1 中更改不同语言环境的 MessageResources 属性?
我有一个网络应用程序。为了实现多语言目的,我将 Java Struts 1.3 与 MessageResources 结合使用。默认语言是意大利语(MessageResources.properties),第二语言是英语(
如何使用按钮将值传递给操作而不是 Struts 2 中的 href 链接?
我有一个 href 链接,它将一些值传递给 Struts 2 中的操作类。
如何在 Struts 2 中将一些文本加载到 JSP 页面上?
我正在尝试将一些文本加载到 JSP 页面上。我真的不知道该怎么做。我正在使用 Struts 2,因此我可以使用它的标签。 这是正文中唯一的一行: 我正在尝试将一些文本加载到 JSP 页面上。我真的不知道该怎么做。我正在使用 Struts 2,所以我可以使用它的标签。 这是正文中唯一的一行: <s:property value="myTextToAdd" /> 我知道,这没什么好继续的,但我现在不知道该问什么。我只是希望能够调用 Java 类并让它返回我想要的 JSP 页面的文本。 首先,确保使用 Action -> JSP 流程。这允许为浏览器响应准备/呈现 JSP,因此它已经通过 Struts 标签(如 property 标签)填充了数据。在操作类中,您创建一个要通过 property 标签打印出来的属性。 private String myTextToAdd; //getter public String getMyTextToAdd(){ return myTextToAdd; } //setter you need if you want to submit it, could be here 然后在行动中你应该做类似的事情 public String execute(){ myTextToAdd = "Some text to out"; ... return SUCCESS; } SUCCESS 结果应返回 dispatcher 结果类型,这是默认值。您还配置了操作以将某些 URL 和结果映射到它。然后您可以使用 property 标签来输出该值。 参见 Struts2 tutorial 的详细解释。 这是 struts 2 的一些简单教程 Struts 2 Hello World 它将为您提供基本的启动介绍。试试这个也许你会对struts2有一些了解
如何使用 Struts 2 中操作中的 ArrayList 值填充 <s:select> 标记的值?
我正在开发一个简单的 Struts 应用程序。在我的 JSP 中,我有一个下拉列表框(使用 标签)。我需要用操作类中的 ArrayList 值填充这些值。我怎样才能做到这一点?
我已经在网上搜索了几个小时,但在 Struts 中找不到一个简单问题的答案。基本上,我在 Struts 1 中有以下操作,这是一个简单的转发,我想重现...
如何在 Struts 1 中使用带有 <html:select> 标签的选项集合?
以下 TreeMap 包含我传递的数据库中的所有值 MaptreeMap = new TreeMap(map); 迭代器mapIterator = mapSet.it...
我正在尝试使用 标签将多个参数传递给我的 Struts 操作类。 我有一个链接,它应该将两个参数从 JSP 页面传递到我的操作类。 如何实现...
有没有办法在Struts 1中的JSP页面上预填充多个表单?
有没有办法用Struts 预先填充多个表单并使它们可用于JSP 页面? 我正在构建一个页面,上面有两种不同的表单,需要预先填充自定义数据......
有没有办法用Struts填充多个表单并使它们可用于JSP页面? 我正在构建一个页面,上面有两种不同的表单,需要预先填充的自定义数据...
有没有办法用Struts填充多个表单并使它们可用于JSP页面? 我正在构建一个页面,上面有两种不同的表单,需要预先填充的自定义数据...