[SPRING] 어노테이션으로 맵핑 된 Action 클래스로 struts-spring 플러그인으로 struts convention Plugin을 설정하는 방법
SPRING어노테이션으로 맵핑 된 Action 클래스로 struts-spring 플러그인으로 struts convention Plugin을 설정하는 방법
나는 관례 플러그인으로 이미 실행중인 스트럿트 2 응용 프로그램으로 스프링 플러그 인을 구성하려고하는데 주석을 사용하고 있습니다. Spring Plugin을 소개하기 전까지는 초기에 잘 작동하는 양식 제출을 위해 ExtJs를 사용하고 있습니다. 이제는 Ajax 요청이 작업을 찾을 수 없으며 방화성 단추로 응답을 표시하지 않습니다.
Pom.hml
<!-- 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>
을 포함한다.
<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 convention 플러그인과 주석을 함께 사용하도록 설정하는 방법이다.
해결법
-
==============================
1.struts2-spring-plugin과 struts2-CDI-plugin을 모두 가져오고 있습니다.
struts2-spring-plugin과 struts2-CDI-plugin을 모두 가져오고 있습니다.
하지 마.
위의 플러그인 중 하나만 선택하고 올바르게 구성하십시오.
IMHO Java EE> = 6을 사용하는 경우 CDI 플러그인이 더 좋습니다.
from https://stackoverflow.com/questions/28804031/how-do-configure-struts-convention-plugin-with-struts-spring-plugin-with-action by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 나는 Hibernate ogm과 spring boot를 사용하려고 할 때 콘솔이 "named strategy class를 인스턴스화 할 수 없다"라는 오류를 준다. (0) | 2019.01.24 |
---|---|
[SPRING] JHipster에서 현재 로그인 한 사용자를 얻는 중 (0) | 2019.01.24 |
[SPRING] Spring-Data-JPA ManyToMany 관계와 추가 컬럼 (0) | 2019.01.24 |
[SPRING] RMI 호스트를 구성하여 액세스하는 클라이언트 포트를 알아야합니다. (0) | 2019.01.24 |
[SPRING] where 절에서리스트 <t>에 대한 최대 절전 쿼리 (0) | 2019.01.24 |