我试图用strut 2应用程序配置spring插件,而strut 2应用程序已经用常规插件运行了,所以我使用了注释。我使用ExtJs提交表单,在我引入spring插件之前,它最初工作得很好,现在ajax请求无法定位操作,并且在firebug中没有显示任何响应。
绒球.xml
<!-- struts 2 dependencies -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>${struts2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-convention-plugin</artifactId>
<version>${struts2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-json-plugin</artifactId>
<version>${struts2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>${struts2.version}</version>
</dependency>
<!-- Import the CDI API -->
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-cdi-plugin</artifactId>
<version>${struts2.version}</version>
</dependency>
<dependency>
<groupId>javax.enterprise</groupId>
<artifactId>cdi-api</artifactId>
<version>1.0-SP1</version><!--$NO-MVN-MAN-VER$-->
<scope>provided</scope>
</dependency>
<!-- Spring framework -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
struts.xml
<?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.custom.i18n.resources" value="ApplicationResources" />
<constant name="struts.devMode" value="true" />
<constant name="struts.convention.result.path" value="/content" />
<constant name="struts.multipart.saveDir" value="/tmp" />
<constant name="struts.multipart.maxSize" value="4194304" />
<constant name="struts.action.excludePattern" value="/api/.*?" />
</struts>
web.xml
<display-name>Application</display-name>
<welcome-file-list>
<welcome-file>index.html</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>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>Resteasy</servlet-name>
<servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Resteasy</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>
<context-param>
<param-name>resteasy.scan</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>resteasy.servlet.mapping.prefix</param-name>
<param-value>/api</param-value>
</context-param>
<listener>
<listener-class>org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap</listener-class>
</listener>
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
</beans>
操作类
@Namespace("/units")
@Result(
type = "stream",
params = {
"inputName", "stream"
}
)
public class PropertyTypeAction extends BaseAction implements ActionImpl{
@PersistenceUnit
private EntityManagerFactory emf;
@Action(value="add")
public String add() {
.......
}
}
Ajax请求火虫报告,XML选项卡
XML Parsing Error: no element found Location: moz-nullprincipal:{7fc640bd-f293-4956-8cf2-178765cec735} Line Number 1, Column 1:
我的问题是如何配置struts-Spring插件以使用带有注释的struts-Spring插件。
您正在导入 struts2-spring-plugin 和 struts2-CDI 插件。
不要。
仅选择上述插件之一,然后正确配置:
>
要使用CDI插件,只需使用Maven导入JAR,然后开始使用(右)@Inject注释注释要注入的对象。
要使用 Spring 插件,请导入 JAR,在 web.xml 中添加 ContextLoaderListener
(您已经设置),并指定要在 struts.xml 中使用 Spring 作为对象工厂,并带有常量:
<constant name="struts.objectFactory" value="spring" />
IMHO如果您使用Java EE,CDI插件是更好的选择
我有一个简单的Maven servlet/jsp应用程序,我部署到本地Tomcat 9(通过Eclipse)。JSP页面存储在根文件夹()下,当Maven安装WAR时,它们位于根文件夹(旁边的和)下。 servlet的URL模式是为每个servlet注释的,例如,等。大多数servlet执行对各种JSP页面的调度,但是我在其中一个页面上有一个直接的锚链接。 我想将这些JSP页面移动到各自的目录中,
我有一个JSP登录页面,可以调用login action类。我使用的是Struts注释,而不是到映射,一切正常。我随机尝试了一些新东西,所以我从action类和struts中删除了所有注释。xml还没有映射到我的
问题内容: 我想在ng-repeat块中添加带有插值表达式的HTML注释。但是,当我尝试执行此操作时,不会对表达式进行插值。例如: 当我查看DOM(即Chrom DevTools中的Elements标签)时,我只看到未插补的字符串(“ {{item.id}}”)而不是插补的值。 这里正确的语法是什么? 问题答案: 这是一种矫kill过正的方法,因为您可以只使用或类似注释中的建议,但是这只是一个有趣
问题内容: 我有maven项目,我想从现有实体生成DDL。 我怎样才能做到这一点? 我可以生成DDL的任何Maven插件吗? 我正在使用JPA。(open jpa) 问题答案: openjpa-maven-plugin插件提供了一个目标。使用此目标,可以从现有实体创建DDL。
将我的应用程序升级为使用Spring Boot 2.1.8版时。使用struts2 core版本2.5.20发布struts2约定插件操作未正确映射,我收到错误消息 通用域名格式。开放交响乐团。xwork2。配置。ConfigurationException:没有为与上下文路径[]关联的命名空间[/]和操作名称[home]映射的操作。 如果我在中定义动作,它们会完美地工作。 下面是我当前的配置,为
问题内容: 我正在使用Struts2创建一个Web应用程序,并且与任何URL一起使用的映射操作都存在问题。 在我的struts.xml文件中,我配置了一个带有“ / registration”名称空间的软件包,其中包含一些动作,其中一个主要是“ register”。我的应用程序的上下文根是“ app / test”。 要访问注册表格,我可以转到“ localhost:8080 / app / te