struts 相关问题

Apache Struts Web框架是一个免费的开源解决方案,用于创建Java Web应用程序。

Struts 2 中验证后清除参数

我有一个 URL=“deliverable.do?id=123” 单击提交按钮后,它会转到 validate() 方法并找到一些缺失的字段。 然后,当它返回显示问题时(这是......

回答 1 投票 0

java.lang.NullPointerException

我在 web.xml 部署描述符中添加了一个过滤器。但是每当请求到达服务器时,过滤器就会抛出 NullPointerException: java.lang.NullPointerException org.apache.commons.

回答 2 投票 0

如何从 Struts 1 中的操作 URL 中删除“.do”扩展名?

我在 Struts 1 框架中编写了一个 Web 应用程序。一切正常,但在表单提交时,当用户转发到下一页时,显示的 URL 是 actionname.do。我不想...

回答 4 投票 0

如何从 Struts 1 中的 URL 中删除“.do”前缀?

我在 Struts 1 框架中编写了一个 Web 应用程序。一切正常,但在表单提交时,当用户转发到下一页时,显示的 URL 是 actionname.do。我不想...

回答 4 投票 0

struts-config.xml中路径类型有什么区别?

我是新的Java Struts框架。但我想问一个问题。 在struts-config.xml中,路径是.do,如“/AddReq.do”,或者路径只是名称,如“AddReq”? 有什么区别...

回答 2 投票 0

如何获得包含对象“id”的 URL?

如何在 Struts 中拥有一个包含对象 id 的 URL,然后将其传递给一个操作以通过该 id 显示该对象?例如URL 是 /users/1,它显示了一个具有 id 的用户对象...

回答 1 投票 0

使用<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>

回答 1 投票 0

为什么一个页面包含在Struts中JSP会执行多次?

我尝试在 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 中出现递归调用。

回答 1 投票 0

为什么JSP在Struts中执行多次登录到控制台?

我尝试在 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 中出现递归调用。

回答 1 投票 0

Struts:JSP页面中的多次执行

我尝试在 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 中出现递归调用。

回答 1 投票 0

防止在 Struts 1 中刷新时重新提交[重复]

我已经浏览了同样问题的答案,但是Struts中没有任何默认方法来防止重新提交吗?另外,就我而言,如果我重置表单字段,它仍然会保存旧值(但是......

回答 2 投票 0

如何访问Struts标签的嵌套标签?

我正在使用以下 JavaScript 代码来设置元素的值。 document.getElementById('alert['+i+']').innerHTML = "alert"; 该元素嵌套在 Struts set 标记中。 (ID 我...

回答 1 投票 0

如何将使用Struts标签的自定义代码转换为Spring MVC 4.0?

我有一些使用 Struts 库的自定义代码,我们正在将其移植到 Spring MVC。 我需要更换 SkinTagUtils.findInScope("value1",pageContext) 和 SkinTagUtils.putToScope("键&...

回答 1 投票 0

如何将Struts标签转换为Spring MVC 4.0?

我有一些使用 Struts 库的自定义代码,我们正在将其移植到 Spring MVC。 我需要更换 SkinTagUtils.findInScope("value1",pageContext) 和 SkinTagUtils.putToScope("键&...

回答 1 投票 0

如何将Struts标签转换为Spring 4.0?

我有一些使用 Struts 库的自定义代码,我们正在将其移植到 Spring MVC 我需要更换 SkinTagUtils.findInScope("value1",pageContext) 和 SkinTagUtils.putToScope("key&q...

回答 1 投票 0

如何将Struts标签转换为Spring 4.0?

我有一些使用 Struts 库的自定义代码,我们正在将其移植到 Spring MVC 我需要更换 SkinTagUtils.findInScope("value1",pageContext) 和 SkinTagUtils.putToScope("key&q...

回答 1 投票 0

如何将JSP变量值传递给Struts标签

我想将JSP变量值设置为Struts标签, 在下面的代码中,我必须在 我想将JSP变量值设置为Struts标签<s:set var="" value="">, 在下面的代码中,我必须在 carbo 中设置 <s:set name="c" value=" "/> 变量的值而不是常量值。 我该怎么做? <%! String carbo=""; %> <% String dish_name=(String)session.getAttribute("d"); String calories_qty=(String)session.getAttribute("a"); try { Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/medical","root","root"); //Connection conn=dbConn.getConnection(); Statement stmt = conn.createStatement(); System.out.println("jsp dish_name="+dish_name); System.out.println("jsp dish_name="+calories_qty); ResultSet rs = stmt.executeQuery("Select * from calories c,dishdetail d where c.dishdetail_Id=d.id and d.dishName='"+dish_name+"' AND d.size='"+calories_qty+"' "); while(rs.next()){ carbo=rs.getString("carbo"); //carbo=Float.parseFloat(rs.getString("carbo")); } System.out.println("jsp carbo:"+carbo); } catch(Exception e){ System.out.println("error:"+e); } %> <s:set name="c" value="45" /> <p> carbo: <s:property value="#c" /></p> <sj:progressbar cssStyle="width:20%; height:10px;" value="%{c}" onCompleteTopics="reloadfifthlist" onChangeTopics="mychangetopic"/> 我希望我能很好地理解你想要实现的目标,但我会同意 <s:set name="c" value="<%= carbo %>"/> 最简单的方法 <s:set var="c"><%=carbo%></s:set> <s:property value="#c" /> 但是,您应该在操作中编写应用程序逻辑,而不是在脚本中编写应用程序逻辑,您可以将这些变量放在操作类中。该动作可以将调度结果返回到JSP。然后,在为属性创建 getter 和 setter 后,您可以使用 OGNL 表达式来引用操作属性。例如 @Action(value="name", results={ @Result(location = "/path/to/page.jsp") }) class MyAction extends ActionSupport { private String carbo; //getters and setters here public String execute(){ //your logic here return SUCCESS; } } 那么您只需引用此操作属性即可 <s:property value="%{carbo}" />

回答 2 投票 0

Struts 2.5.5支持Java 1.6吗

Struts 2.5.5(最新版本)是否支持 Java 1.6.x,因为我在运行示例应用程序时看到不受支持的版本。

回答 1 投票 0

找不到名称下的bean

我现在正在使用 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> &gt; Números de Acceso</p> </div> <p>&nbsp;</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">&nbsp;</div> </tiles:put> </tiles:insert> 在 JSP 页面的任何范围内都找不到 segments 的值。可能是您在从操作返回此 JSP 之前忘记初始化该值,或者您直接访问 JSP,或者您遇到验证错误并将此 JSP 配置为 input。在最后一种情况下,您应该在表单的 validate() 方法中初始化集合。 还有另一种方式通过 html:select 为 html:optionsCollection 提供选项。 <html:optionsCollection property="segments" label="name" value="id" />

回答 1 投票 0

向JSP页面提交字符串

我正在尝试将一些文本加载到 JSP 页面上。我真的不知道该怎么做。我正在使用 Struts2,因此我可以使用它的标签。 这是正文中唯一的一行: 我正在尝试将一些文本加载到 JSP 页面上。我真的不知道该怎么做。我正在使用 Struts2,所以我可以使用它的标签。 这是正文中唯一的一行: <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有一些了解

回答 2 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.