Apache Struts 2是一个基于servlet的可扩展框架,在其架构中实现了模型 - 视图 - 控制器(MVC)模式,用于创建企业级Java Web应用程序。
处理请求时发生异常:null:DAO bean 中的 java.lang.NullPointerException
我的数据库使用的 create() 和 insert() 方法有问题。我使用 Struts、Hibernate 和 MySQL 作为数据库。 我已经尝试解决这个问题很长时间了,但是...
<s:if> 标签条件不适用于 Struts 2 中的会话变量
我在过去两天遇到了一个特殊问题,但找不到原因。 我在 JSP 文件中有一个 标记来检查给定的布尔变量是否为 true。如果是,我正在显示菜单。 我...
如何在Struts 2中从数据库中查看JSP页面中的多个图像?
我在尝试从数据库获取图像然后在 JSP 页面中显示它们时遇到问题: 图像动作: 公共类图像动作{ 私有字节[] itemImage; 公共字节[] getItemImage() { 返回
JspTaglib [“http://tiles.apache.org/tags-tiles”]未定义:它无法分配给tiles
我正在对一个非常旧的Java项目进行更新转换,并在Spring Boot下进行转换。但是,我很难渲染首页,因为它们是用 Struts 2 构建的......
我已经完成了登录表单的验证。工作正常,但是输入正确的用户名和密码后,没有执行任何操作,登录成功后也没有打开JSP页面。 这是我的洛...
如何在Struts 2中使用<s:iterator>标签避免JSP中的500错误?
在我的网络应用程序中,我为 id 生成动态内容。 下面是我的代码: 函数查找(){ <% List el = (List) request.getAttribute("uselist");%...
如何在Struts 2中使用<s:iterator>标签避免JSP中的500错误代码?
在我的网络应用程序中,我为 id 生成动态内容。 下面是我的代码: 函数查找(){ <% List el = (List) request.getAttribute("uselist");%...
所以,我在页面范围内设置了一个变量,例如: 我想用这个“targetAc...
在 Struts 2 的表格中使用时,日期选择器会分成单独的行
我正在使用 Struts 2 并且有一个场景,其中我必须以以下格式提及日期:从:[日期] 到:[日期], 但每当我使用 <... 我正在使用 Struts 2 <sx:datepicker> 并且有一个场景,其中我必须以以下格式提及日期:From: [Date] To: [Date], 但每当我使用 <table> <tr> <td> <sx:datetimepicker label= "From" /> <sx:datetimepicker label= "To" /> </td> </tr> </table> 这会将组件分成四行。我希望他们排成一排。我也使用过类似 "inline" 和 "inline-block" 的样式,但没有任何效果。 Expected Result: From: [Date] To: [Date] Current Result: From: [Date] To: [Date] 在一行中使用表格中的两列 <td> <sj:datetimepicker label= "From" /> </td><td> <sj:datetimepicker label= "To" /> </td> 使用简单的主题而不是xhtml。默认主题是xhtml。 例如: <s:div theme="simple" />
我正在使用 Struts 2 日期选择器,并且有一个场景,其中我必须以以下格式提及日期: 从:[日期] 至:[日期], 但每当我使用 ... 我正在使用 Struts 2 datepicker 并且有一个场景,其中我必须以以下格式提及日期: 从:[日期] 至:[日期], 但每当我使用 <table> <tr> <td> <sx:datetimepicker label= "From" /> <sx:datetimepicker label= "To" /> </td> </tr> </table> 这会将组件分成四行。我希望他们排成一排。我也使用过类似 "inline" 和 "inline-block" 的样式,但没有任何效果。 Expected Result: From: [Date] To: [Date] Current Result: From: [Date] To: [Date] 在一行中使用表格中的两列 <td> <sj:datetimepicker label= "From" /> </td><td> <sj:datetimepicker label= "To" /> </td> 使用简单的主题而不是xhtml。默认主题是xhtml。 例如: <s:div theme="simple" />
我有一个变量paramMap,类型是HashMap,它有两个元素: {"1", "区域号"} {"2", "areaOrgNo"} 以及 S 的复选框代码...
为什么从 Struts 1 迁移到 Struts 2 + Tiles 3 后网页上显示的字体变大了?
我正在研究Struts 1到2的迁移应用程序。我也成功迁移了 JSP、Actions、POJO 和 XML。 但是,当我将 Tiles 3 集成到我的 Struts 2 应用程序中时,突然,它出现了......
我在 JSP 中使用 Struts 2 标签。下面是 Action 类。 包 com.action; 导入java.util.ArrayList; 导入java.util.HashMap; 导入java.util.Map; 导入java.util.List; 导入 com.opensym...
我正在阅读《Struts 2 in Action》一书,在该书的第一章下,有一个需要开发的示例基本应用程序。我试着跟着它,但动作类不c...
我编写了一个简单的代码来将 REST 与 Struts 2.3.24 集成。 我有我的 Struts XML: 我编写了一个简单的代码来将 REST 与 Struts 2.3.24 集成。 我有我的 Struts XML: <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.mapper.class" value="rest" /> <!-- Overwrite Convention --> <constant name="struts.convention.action.suffix" value="Controller"/> <constant name="struts.convention.action.mapAllMatches" value="true"/> <constant name="struts.convention.default.parent.package" value="com.pag.rest.service"/> <constant name="struts.convention.package.locators" value="service"/> </struts> 我的控制器类是: package com.pag.rest.service; public class RequestController { // GET public String index() { return "SUCCESS"; } // GET public String show() { return "SUCCESS"; } // POST public String create() { return "Create - SUCCESS"; } // PUT public String update() { return "SUCCESS"; } // DELETE public String destroy() { return "SUCCESS"; } } 每当我尝试访问该服务时,它都会显示not found with action not mapped异常。 请让我知道,为了使代码正常工作,我还需要做什么? 父包应该是rest-default。将以下常量添加到配置文件struts.xml: <constant name="struts.convention.default.parent.package" value="rest-default"/> 删除 <constant name="struts.convention.package.locators" value="service"/> 并将您的包名称重命名为com.pag.rest.actions。它将在 actions 文件夹下搜索您的控制器。
为什么Struts中的ActionSupport是一个类而不是一个接口?
接口为 Java 开发人员提供了比具体类更大的灵活性。我是 Struts 2 框架的新手,我对 Struts 2 开发人员决定将 ActionSupport 设为 cl 感到困惑...
我有一个JSP页面,用于上传文件。此页面必须在我的应用程序中的许多不同位置使用,但每次我使用此页面时,表单的操作类都是不同的...
未找到操作类 [action.SubscribeAction] - 操作 - 文件:struts.xml
我想向我的 struts.xml 添加一个操作,但是当我这样做时,我的 web 应用程序停止工作,我不知道为什么。我在这里发布了我的网络应用程序的一些详细信息。 网络.xml: 我想向我的 struts.xml 添加一个操作,但是当我这样做时,我的网络应用程序停止工作,我不知道为什么。我在这里发布了我的网络应用程序的一些详细信息。 web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>ILIMobileLeborgne</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> struts.xml(在 Eclipse 中的 src 文件夹中): <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.devMode" value="true" /> <constant name="struts.custom.i18n.resources" value="ilimobile" /> <package name="ilimobile" namespace="/" extends="struts-default"> <action name="index"> <result>/index.jsp</result> </action> <action name="registerIllimite"> <result>/registerIllimite.jsp</result> </action> <!-- When I try to do add the following action, my app doesn't work, the browser said me that the ressource asked is unavailable, and when I delete it, my (little) app works correctly --> <action name="registerClientInfo" class="action.SubscribeAction"> <result name="success">/paiement.jsp</result> </action> </package> </struts> 我的SubscribeAction(在源文件夹的action包中): package action; import model.*; import com.opensymphony.xwork2.ActionSupport; public class SubscribeAction extends ActionSupport { private Client client; private String abonnement; public String getAbonnement() { return abonnement; } public void setAbonnement(String abonnement) { this.abonnement = abonnement; } @Override public String execute() throws Exception { // TODO Auto-generated method stub return SUCCESS; } public Client getClient() { return client; } public void setClient(Client client) { this.client = client; } } 我的 JSP 页面使用定义的操作: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <s:form action="registerClientInfo"> <s:textfield key="client.nom"/> <s:textfield key="client.prenom"/> <s:textfield key="client.email"/> <s:textfield key="client.adresse"/> <s:textfield key="client.ville"/> <s:textfield key="client.cp"/> <s:submit/> </s:form> </body> </html> 如果您需要一些额外的信息,请询问我,但我想您可以明白为什么我的应用程序不想工作。我很确定这只是一个小错误,但我找不到它.. 编辑: 我在这里发布了 Eclipse 堆栈跟踪,它显示它找不到我的操作类,但我不知道为什么。我有一个由我的老师制作的 Struts 2 示例,我不认为他做了一些额外的步骤来在 Eclipse 上使用 Tomcat 服务器部署应用程序。 堆栈跟踪: Unable to load configuration. - action - file:/home/blackmario/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ILIMobileLeborgne/WEB-INF/classes/struts.xml:20:68 at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70) at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:429) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:471) at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:51) at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:277) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258) at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:382) at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:103) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4650) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5306) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Caused by: Action class [action.SubscribeAction] not found - action - file:/home/blackmario/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/ILIMobileLeborgne/WEB-INF/classes/struts.xml:20:68 at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.verifyAction(XmlConfigurationProvider.java:480) at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addAction(XmlConfigurationProvider.java:424) at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:541) at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:290) at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:112) at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:239) at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:67) ... 18 more 所以,听起来当您添加该操作时您的应用程序无法启动,对吗? 没有任何效果,即使是以前有用的。 因此,您应该查看您正在使用的 servlet 容器的日志。没有什么比找到日志所在位置并熟悉它们更重要的了。 当您查看日志时,我猜您会看到其中一个 1) 一个错误,抱怨 struts.xml 的语法不好,并且应用程序在尝试解析它时失败。 或 2) ClassNotFoundException,因为该操作的类文件不在应用程序的类路径上。 如果是这种情况,请确保该操作的类文件实际上已放入 WAR 文件的 WEB-INF/lib 或 WEB-INF/classes 目录中;这是 web 应用程序的类加载器查找类文件的地方。 如果您对此了解不多,您应该阅读更多有关 Java Servlets 的内容。 这两种情况都可能导致应用程序无法成功启动。 你必须查看日志;他们通常会告诉您该应用程序存在特定问题。 如果您在此论坛上询问该特定问题,您将得到非常有用的答案。 否则,我有点猜测。 默认情况下,.action扩展由您扩展的struts-default包使用。当您将 url 放入浏览器时,请确保您使用了正确的 url。 尝试改变 <action name="registerClientInfo" class="action.SubscribeAction"> <result name="success">/paiement.jsp</result> </action> 到 <action name="registerClientInfo" class="SubscribeAction"> <result name="success">/paiement.jsp</result> </action>
在 Struts 2 中使用 ModelDriven 为空值获取 null
ModelDriven 对于具有空值的参数返回 null。 豆: 公共类 MyBean { 私有字符串用户名; 公共无效setUserName(字符串用户名) { 这个.用户名 =
我正在创建一个 JSP 页面并使用 OGNL。我想检查目录中是否存在图像文件,然后显示它,否则显示空白图像。有什么办法可以做到吗?