Apache Struts Web框架是一个免费的开源解决方案,用于创建Java Web应用程序。 Struts框架旨在帮助开发人员创建利用MVC架构的Web应用程序。
Struts 2.x 迁移 - 如何实现与 Struts 1.x 相同的 URL 模式
目前,我正在从事Struts从1.x到2.x的迁移任务。我面临的主要问题是 URL 模式的变化。 在 Struts 1 中,我们使用如下 URL 模式。 注意:多种方法
在 Struts 1 中将 Java bean 转换为 JSON 字符串
我想使用Struts 来呈现JSP 页面中的内容。 我有实现可序列化的 Java Bean 类: 公共类 MyPOJO 实现可序列化 { 字符串名称; 整数值; // 瞧...
我正在使用 Struts 1,只想清理每个请求上参数的 URL。 在请求中,例如: myapp.com/view.do?method=search 行动: 公共 ActionForward 搜索(ActionMapping 映射,
java.lang.ClassCastException:org.apache.struts.validator.DynaValidatorForm 无法转换
我想从数据库中的JSP表单中搜索数据并将其显示在另一个JSP文件中... javax.servlet.ServletException:java.lang.ClassCastException:org.apache.struts.validator.DynaValidatorForm
我正在研究Struts 1项目,该项目之前已经实现了PDF.js来预览文档。由于 PDF.js 库不支持水印选项,我决定转向 PDF.js Ex...
我使用的是Struts 1.3,我希望能够为不同的选项提供下拉菜单,如下所示: 以下示例具有以下格式: 单选按钮:下拉值 1 下拉值...
如何在Struts 2中使用JavaScript访问form元素和action属性?
在 Struts 1 中,您可以使用以下语法访问 JavaScript 中的表单元素和操作: 文档.表单.元素 和 文档.表单.操作 在 Struts 2 中,表单类不存在,对于 mig...
我有以下标签: 我有以下标签: <html:text styleClass="span2" property="groupManagerId" styleId="groupManagerId" maxlength="19" size="10" readonly="" /> 工作正常。当我添加 style 属性时: <html:text styleClass="span2" style="display:<%=(""+FVConstants.NORMAL).equalsIgnoreCase(groupData.getGroupType())?"none":" "%>;" property="groupManagerId" styleId="groupManagerId" maxlength="19" size="10" readonly="" /> 我收到以下错误: org.apache.jasper.JasperException: /pages/POS0085_group_modify.jsp(95,61) Unterminated <html:text tag 我在 label 和 div 标签下具有相同的属性,并且它可以正常工作。我改成 <%String displayValue=(""+FVConstants.NORMAL).equalsIgnoreCase(groupData.getGroupType())?"none":" "; String displayAttr="display:"+displayValue; %> 和 <html:text styleClass="span2" style="display:<%=displayValue%>" property="groupManagerId" styleId="groupManagerId" maxlength="19" size="10" readonly="" /> 并且它有效。第一次尝试有什么问题?有更好的方法吗? 当初学者尝试使用 ? 运算符计算字符串时,经常会发生此错误。计算的表达式应该像这样用括号括起来 <html:text styleClass="span2" style="display:<%=((""+FVConstants.NORMAL).equalsIgnoreCase(groupData.getGroupType())?"none":" ")%>;" property="groupManagerId" styleId="groupManagerId" maxlength="19" size="10" readonly="" />
我使用HTTP会话对象在signUpAction.java中存储登录的用户ID: HttpSession 会话 = request.getSession(); if(登录>0&&糖果>0){ 会议。
我使用HTTP会话对象在signUpAction.java中存储登录的用户ID: HttpSession 会话 = request.getSession(); if(登录>0&&糖果>0){ 会议。
如何构建带有异常详细信息和发送邮件按钮的 Struts 自定义错误页面?
我目前正在处理 Struts 中的错误(404、500),因此任何遇到错误的用户都会看到一个包含所有详细信息的方便的错误页面。我还想实现一个 sendmail 功能...
Struts 2 中替换 Struts 1 DispatchAction.types
我正在尝试寻找 Struts 2 中 org.apache.struts.actions.DispatchAction.types 的替代品。 下面是一个代码片段: if(类型!= null) { if(types.length ==forward.length) {
如何修复或处理部署在 Apache Tomcat 7 中的 Java Struts 1.3 应用程序中的 File Reaper 线程内存泄漏问题?
我已在 Apache Tomcat 7.0.41 中部署了一个 Struts 1.3 Web 应用程序。 Tomcat服务器似乎经常挂起并且无法处理任何请求,在浏览器上显示页面未找到错误,重新...
我正在将 Struts 1 应用程序迁移到 Struts 2。在 Struts 2 文档中,它比较了它所说的差异, Struts 2还支持Action Form模式,以及POJO表单 对象...
使用 AngularJS 的 Struts 1 中缺少键 '{{metadata[key].displayName}}' 的消息
我有一个前端 JSP 可以执行以下操作: {{元数据[key].displayName}}: 这可以工作并显示值 然而,该值实际上是
lodable.jsp: 节目名称: lodable.jsp: <html:form action="DemoS" method="POST" focus="" > Program Name : <html:select property="airline_name" styleId = "tempId" onchange="onAirlineChange()" > <html:options collection="airline_name" property="value" labelProperty="key" /> </html:select> <br/> PART NUMBER <input type="text" name="part_no"id="part_number"> YEAR <select name="year" id="year" style="width:200px"> <option value="13">2013</option> <option value="14">2014</option> <option value="15">2015</option> </select> <input type="submit" name="Lodable" value ="OK"> </html:form> <html:errors/> DemoForm.java: public class DemoForm extends ValidatorForm{ private String airline_name; private String part_no; private String year; public String getAirline_name() { return airline_name; } public void setAirline_name(String airline_name) { this.airline_name = airline_name; } public String getPre_part_no() { return pre_part_no; } public void setPre_part_no(String pre_part_no) { this.pre_part_no = pre_part_no; } public String getYear() { return year; } public void setYear(String year) { this.year = year; } @Override public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { ActionErrors errors=new ActionErrors(); if(getPart_no()==null ||getPart_no().length()<1) { errors.add("part_no",new ActionMessage("errors.required","part_no")); } if(getYear()==null ||getYear().length()<1) { errors.add("Year",new ActionMessage("errors.required","Year")); } } } Struts-config.xml摘录: <form-beans> <form-bean name="DemoForm" type="com.me.form.DemoForm" scope="session" /> <form-beans/> <action-mappings> <action input="/pages/Lodable.jsp" parameter="method" name="DemoForm" path="/DemoS" scope="session" type="com.woi.action.DemoS" validate="true"> <forward name="lodable" path="/pages/Lodable.jsp" /> <forward name="save" path="/pages/success.jsp"></forward> <forward name="fail" path="/pages/fail.jsp"></forward> </action> <action-mappings/> 收藏: public Map<String,String> airline_name= new HashMap<String,String>(); airline_name.put("niraj.deshmukh","template1 "); airline_name.put("user1","template1 "); airline_name.put("user2","template2 "); airline_name.put("user3","template3 "); request.setAttribute("airline_name", airline_name); 例外: org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: Cannot find bean under name airline_name org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:585) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1083) org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:295) org.apache.struts.action.RequestProcessor.internalModuleRelativeForward(RequestProcessor.java:1027) org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForward(TilesRequestProcessor.java:374) org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:995) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:198) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) javax.servlet.http.HttpServlet.service(HttpServlet.java:647) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 您没有正确指定操作的路径,应该是 <html:form action="/DemoS" 检查您是否为 formBean 类或 actionclass 创建了构造函数。如果您创建了构造函数,jspcompler 会给出如下错误:javax.servlet.jsp.JspException:创建类 ProductFB 的 bean 时出现异常。 之前我没有提到索引页面导航到的页面的正确路径,我使用了jsp:forward标签 下面是我之前使用过的标签 <jsp:forward page="/faces/views/prime.xhtml"></jsp:forward> 我把它改为c:redirect <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Index</title> </head> <body> <c:redirect url="/views/prime.xhtml"></c:redirect> </body> </html> 问题解决了。
如何在Struts 2中实现相当于<html:cancel>标签的功能?
我正在将应用程序从 Struts 1 迁移到 Struts 2。 在 Struts 1 中,我们有 标签可以在单击时绕过表单 bean 的 validate() 方法。 但在 Struts 2 中,我不知道有任何
我正在尝试让 Struts 教程正常工作,但当我尝试在 Tomcat 中运行该文件时遇到以下错误。 请求的资源 () 不可用。 Tomcat日志输出: 八月...
我在 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的代码 到 &...